C语言问题 能详细的说明下过程

C语言问题 能详细的说明下过程,第1张

1,C)scanf("%o,%x,%o",&a,&b);

格式控制参数和参数的个数要一致,否则会发生错误

2,C)122

这是一个函数调用的问题,在主函数中定义了两个变量a=5,b=6,两个指针x,y;并且分别指向了a,b;fun(int a,int b)中指针做形参,当函数调用时,把主函数中变量a的地址传给了fun()中的指针a,第二个参数一样,这样在fun()中a就等于5, b就等于6,最后就可求得m的值。

3,A)1 K属于全局变量,但是在fun(int k)中形参名也为K(局部变量,C中有个规则:当全局变量和局部变量重名时,全局变量被屏蔽掉,不再起作用

4,A)f

注意 while(str++!=′e′);有个分号,表示循环体为空!

对于str,先使用,后加1,所以应该指向e的下一个字符。

5B)10100

注意在函数fun(int x)

{if(x/2>0)fun(x/2);

printf("%d",x%2);}

中,是if语句的简单形式,和后面的printf("%d",x%2)形成并列关系,因此每次递归调用fun(int x)时都要被执行共5次,第一次是1%2,第二次是2%2,依次:5%2,10%2,20%2

6,9

此题就是求",++a--b/5%13的值,考查了优先级和结合性,

大思路是从左向右算!相当于",(++a)(--b)/5%13

思路:先依次统计a到z字母出现的次数。然后申请一个二维数组,第一维以出现字母次数最多的数申请,第二维为26,然后按照规律以或者空格填充这个数组。最后输出整个数组,最后输出a到z字母。

#include <stdioh>

#include <stringh>

int main() {

int num[5],score[5];

char name[5][20],tmp[20];

int i,j,k,t;

for(i = 0;i < 5;i++) {

printf("第%d/5个学生的学号 : ",i + 1);

scanf("%d",&num[i]);

printf("第%d/5个学生的姓名 : ",i + 1);

scanf("%s",name[i]);

printf("第%d/5个学生的成绩 : ",i + 1);

scanf("%d",&score[i]);

}

for(i = 0;i < 4;i++) {

k = i;

for(j = i + 1;j < 5;j++) {

if(score[k] < score[j]) k = j;

}

if(k != i) {

t = num[i];

num[i] = num[k];

num[k] = t;

strcpy(tmp,name[i]);

strcpy(name[i],name[k]);

strcpy(name[k],tmp);

t = score[i];

score[i] = score[k];

score[k] = t;

}

}

printf("排序后:\n");

for(i = 0;i < 5;i++) printf("%d %s %d\n",num[i],name[i],score[i]);

printf("\n");

return 0;

}

以上就是关于C语言问题 能详细的说明下过程全部的内容,包括:C语言问题 能详细的说明下过程、C语言问题,求大神帮助解决,最好基于我自己写的程序、c语言程序问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9321808.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存