当前位置:首页 » 编程语言 » c语言题目的解析
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言题目的解析

发布时间: 2023-08-29 20:10:52

1. 问个c语言的小题,解析,谢谢

您好,很高兴回答您的问题。
在c语言中,有一些本程序设计语言的法则,比如说整数除以整数得到的结果就是整数,所以10/3的结果就是3,不会是3.333,而且输出的数据类型也是整数类型,那么输出的最后结果就是3,那么结果很明显就是D。

2. c语言问题,请给出详细的解析,谢谢

main()
{
char a[5][10]={"one","two","three","four","five"};
int i,j;
char t;
for(i=0;i<4;i++) //当i = 0;j = 1时 a[0][0]为o, a[1][0]为t,
for(j=i+1;j<5;j++)
if(a[i][0]>a[j][0]) //单词首字母排序 小的向前移动
{
t=a[i][0];
a[i][0]=a[j][0];
a[j][0]=t;
}
puts(a[1]);
}
第一次j交换结果:
{"fne","two","three","oour","five"};
第二次交换结果:
{"fne","fwo","three","tour","oive"};
第三次交换结果:
{"fne","fwo","ohree","tour","tive"};
第四次交换结果:
{"fne","fwo","ohree","tour","tive"};

结果a[1] 为fwo

3. c语言问题求解

  1. 答案

    ①x>=0 ②x < amin

  2. 为什么x同时赋给amin和amax?

    并不是同时赋给amin和amax,每次只能执行一个if分支。对于每一次循环只能是要么执行amax=x,要么执行amin=x。只不过是一个while循环判断输入的这个数字是不是最大值或者最小值而已,这样一次循环办能两个事情,方便。不可能出现一个数既比最大值要大还比最小值最小。不明白可以往下看。

  3. 解析

    这个题让找出所输入的一组数据中的最大值和最小值。这个题的思路是使用了打擂台算法。打擂台算法就是可以解决最大值和最小值问题。算法思路:默认设置所输入的第一个数字就是最大值。其后,对于每次输入的数字都和最大值进行比较,如果说当前值都比最大值都大了,那么这个值就新的最大值。最小值也一样:设置第一个数为最小值,对其后的每一个数字都和这个默认最小值进行比较,如果当前值都比最小值都还小了,那么这个值就是新的最小值。所以会有这两条语句:

  4. if(x>amax)amax=x;
    if(x<amin)amin=x;
    上面就是比较语句,对于所输入的数值,和amax最大值比较,如果比最大值要大,就把当前值x赋予给amax,此时最大值被更新了。第二如果x比最小值都要小,就把当前x赋予给amin,此时最小值被更新了。所以这里并不是说x同时赋给了amax和amin,这个两个if语句每次循环只能走一个。如果还不明白自己可以拿笔拿纸画一画,一画就明白。

4. C语言选择题,求详解

应该选B。

程序结果:

解析:

  1. *p 表示p是一个储存地址的变量

  2. 在这个程序中当运行完p=a;时,*p为"1",*p++也为"1"

  3. *p++和*(p++)相同

  4. printf的运行顺序是从左到右

  5. *p++是把*p存储的地址+1,而p的存储地址是数组的第一个,所以相当于把p的指针往后移一位,也就是说把p指向的数组的位置往后移一位。所以就是321

5. 一道c语言选择题需要详细解析

第一个式子:a + b = 8 , a - b = 2 ,前者!= 后者,正确,所以为真,输出1
第二个式子:先算括号里的, y -= 6.1 = 0.4 , x <= 0.4,错误,所以为假,输出0
答案选:A