若有语句inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则( )不是对a数组元素的正确引用(其中0≤i
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/15 09:30:32
若有语句inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则( )不是对a数组元素的正确引用(其中0≤i
若有语句int
a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则( )不是对a数组元素的正确引用(其中0≤i
若有语句inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则( )不是对a数组元素的正确引用(其中0≤i
2、
#include <iostream.h>
void main()
{
char s[]="12134211",*p;
int v1=0,v2=0,v3=0,v4=0;
for(p=s;*p;p++)
{
switch(*p)
{
case'1':v1++; //若为1则执行词句,由于没有break语句,程序继续向下执行,v1~v4都加1
case'3':v3++; //若为2则执行词句,由于没有break语句,程序继续向下执行,v3,v2,v4都加1
case'2':v2++; //若为3则执行词句,由于没有break语句,程序继续向下执行,v2和v4都加1
default:v4++; //若为其他则执行词句,由于没有break语句,程序继续向下执行,v4都加1
}
}
cout<<v1<<","<<v2<<","<<v3<<","<<v4<<endl;
}
数组中:
四个1,v1-v4加4次,
一个3,v3,v2,v4各加1次
两个2,v2和v4各2次
一个4,v4加1次
故最后v1=4,v2=7,v3=5,v4=8
3、显示A8
#include<iostream.h>
void trans(int x)
{
char a[10];
int i=0,rem;
do {
rem=x%16; //求除以16的余数
x=x/16; //求整除16的数
if(rem<10) a[i]=48+rem; // '0'字符的48,求出小于10的ASCⅡ
else a[i]=55+rem; // 'A'字符的ASCⅡ65,求出大于等于10的ASCⅡ
i++;
}while(x!=0);//直到x为0
while(i>=0)cout<<a[--i];//按序号从大到小显示a[i]的值
cout<<endl;
}
void main()
{
int n=168;
trans(n); //第一次rem=8<10,+48,为8的ASCⅡ码
//x=10≠0循环,第二次rem=10,+55,即为65,A 的ASCⅡ码
}
//故最后显示为A8