一道C语言的问题,请说出分析过程

作者&投稿:尤欧 (若有异议请与网页底部的电邮联系)
c语言题目 求过程分析~

前半部分把矩阵赋值成
1 3 5 7
1 3 5 7
1 3 5 7
1 3 5 7
后半部分秋对角线上的和
就是1+3+5+7

闰年: 1,能被4整除而不能被100整除。
2,能被400整除。
if( (x%4==0) && (x%100!=0) || (x%400==0) ) i=1;

转换关系:非运算符

x%4==0 等价于 !(x%4)
x%400==0 等价于 !(x%400)
x%100!=0 等价于 x%100
原则:非零即真。

不懂可继续问哦。

b=i%2 b 等于 i 取余 2 ;

while(b-->=0)k++; b 如果大于等于 0 则 k的值加1。然后b的值加一。(无论条件真假,b的值都加1)
printf("%d,%d\n",k,b); 以十进制的形式输出k 和 b的值

jdk7.0编译出来,i=6,k=8,b=-2;

"b-->=0"一般只有学校考试的时候才会出这种题,真心没意思。实际使用最好不要写有歧义的代码!
最好把"while(b-->=0)k++;"改成 "while(b>=0) {b--;k++;}"

一共循环5次,i%2取余,while(b-->=0)b 如果大于等于 0 则 k的值加1,
注意当i=4时,k要加两次,最后输出结果5,0


问一道C语言编程的问题,看下图
按你的提问,每天都吃一半多两个,第6天剩一个。程序按图片中的程序照猫画虎即可。计算结果,第一天摘了156个桃子,而不是100个。include <stdio.h>int main(){int day,x1,x2;day=5;x2=1;while(day>0){x1=(x2+2)*2;x2=x1;day--;}printf("total=%d\\n",x1);return 0;} 用...

C语言的问题,这道题怎么做?
数与字符间隔输入,中间不需空格。若输入时有空格,应在数之前,而不能在字符之前。如果字符之前有空格,则读取的是空格,而不是字符。四个选项中,只有C满足要求,其余三个选项都在字符之前有空格。选C。输入2还是2.0,4还是4.0,对输入无影响,a、b都是浮点型,输入2、4同样是可以的。

几道简单的C语言编程题,请高手帮忙
} 3、输入三个整数,求其中的最大值并输出。include<stdio.h> void main(){ int a,b,c;printf("输入三个数:");scanf("%d%d%d",&a,&b,&c);if(a>b&&a>c)printf("最大值为:%d",a);else if(b>a&&b>c)printf("最大值为:%d",b);else printf("最大值为:%d",c);} ...

问一题C语言的问题:for(i=0;i++<5;);执行结束后变量i为什么是6,请一步 ...
看来你对i++没理解透(你最好先把书上写的看懂),先用i 后++。 我给你讲讲c语言的底层运作顺序:(内容很多,我只简单的将下,你可以看下C的源代码) i++<5,在C运行的时候,C语言是把i++<5看做(i<5)++在运行,也可以看作(i<5)=(i<5)+1。【这里涉及到运算的优先级顺序...

请问这道C语言问题?
A)数组a的首地址和p的值无关,他们值是不同的,只是他们存储的内容相同而已。C)我们可以修改指针p指向的内容,所以C错误 D)其实a存放了5个字符,还有一个\\0存在

几道C语言的函数程序补全题,求大佬解答
请仔细看:首先看一下程序的逻辑(虽然貌似题主应该不是在这一块有问题:关于ascii码的解释:首先得知道每个字符和数值的对应关系(图不清晰可看戳这里:ascii编码对应表 好了,现在看程序中的第一个if语句,在用大于、小于这些镇绝悔运算比较符比较char的时候,会自动转换为整数比较,也就是说‘0’...

请问这两道c语言题目怎么个写法,求告知?
左:输出是5。右:3 5 7。左:因为China后面是\\0,\\0是字符串结束标记,所以i的值是5,k的值是7。因为num=i<k ? i : k;中i<k成立,则把i==5的值赋给了num。右:for循环中i的取值只有0 1 2三个数,所以x[i][2-i]有三:x[0][2]、x[1][1]和x[2][0]三项;数组x规...

C语言的几道考题,请各位高手帮忙,急!!!(追加50分)
三题我答案和你的一样 四题 五题的S=0没什么作用,可以不写,最后的GETCH也可不写,我是没发现有什么用。六题 include<stdio.h> int stu(int a,int b,int c);int stu(int a,int b,int c){ int s;s=a*a+b*b+c*c;return s;} void main(){ int a,b,c;printf("请输入3个...

几道简单的C语言题目
【B】2.变量a与b分别初始为10与20,正确的语句是:A: int a=10, int b=20; B: int a=10, b=20;C: int a=10; b=20; D: int a=10; b=20,【C】3.以下选项中正确的C语言常量是:A: 0xEfGh B: 'XYZ'C: 12.34e5 D: '\\5A'【A】4.设有double x;char s...

C语言问题 int *p,a=10,b=1 p=&a; a=*p+b; int *p,a=10,b
答案:B p = &a ;p指向a的存储空间 a= *p + b; *p此时a的存储数值为10,即a = 11。

潮南区17189979693: C语言问题求解答,麻烦把解释过程说一下 -
错喻托卡: 1、题目求的是??代表的数是什么2、现在只能肯定??是两位数,即:10~99 程序中采用的方法是,从10到99,逐一试验的方法,看哪个数满足题目的条件,满足的话,就输出??了,也就是“i”,809*??也就是b(809*??+1)了

潮南区17189979693: 一道c语言的简单题,求解要详细解答过程 -
错喻托卡: 一步步来说吧,从调用fun开始说起void fun(char *x,char *y) //x=p, y=q { char t; t=*x; //t="abc" *x=*y; //*x="123" 相当于 *p="123",因为x和p指向相同的变量内存地址 *y=t; //*y="abc" 同上*q ="abc" }所以,输出结果就是: 123,abc

潮南区17189979693: 一道C语言问题,帮帮忙写下详细过程 -
错喻托卡: #include int main() { int t; char w; scanf("%d",&t); w=getchar(); while(t--) { char s[123]; int i=0; gets(s); while(s[i]) { if(s[i]>='a' && s[i]<='z') printf("%d",s[i]-'a'+1); else if(s[i]>='A' && s[i]<='Z') printf("%d",s[i]-'A'+27); else printf(" "); i++; } printf("\n"); } return 0; }

潮南区17189979693: 一道c语言题,回答时说一下过程,谢谢,
错喻托卡: 注意你的值不对是因为程序有一点小问题: main() { int x,y,z; scanf("%d,%d,%d",&x,&y,&z); //对比一下你的程序,你的%d%d%d中间没有,但是你输入值时是有逗号的25,13,10因此不对应. printf("x+y+z=%d\n",x+y+z); //此处应用\n

潮南区17189979693: 急求一道C语言题的解法过程…1+1/(1+1/(1+1/X))就是用具体步骤写出来…谢谢了补充一下X=5.0求Y(那个式子) -
错喻托卡:[答案] 这样就可以了 #include #define x 5 int main() { int i; double y=1.0/x; for(i=x-1;i>0;i--)y=1.0/(1+y); printf("y=%lf\n",y); return 0; }

潮南区17189979693: 一道C语言的题目,求分析过程 -
错喻托卡: y=x++-1; y=--z+1; 这种式子讨论没什么意义,如这个式子 y=x+++z,你试试 这些都是有歧义的句子,在表达式中最好不要用,理解起来麻烦,还可能理解有误差 编译器不同,可能造成的结果页不同++x&&++y||++z;--x&&++y&&++z; 我估计你是想问这个 在这个逻辑判断中,有短路一说 其实说白了,就是为了节省计算机资源,节省时间而已&&一个零,那么整个式子返回值就是零,这个理解吧 那么前面是零了,后面就没必要计算了,你说是不是啊 ||一个道理,有一个非零,那么整个表达式的返回值也是1 所以啊,前面是非零,后面的也不需要运算 这就是所说的逻辑判断中的短路

潮南区17189979693: c语言 求这道题的过程 -
错喻托卡:楼主,这题有规律,你会发现,两条对角线上都有1 头行,尾行,头列,尾列都有1所以程序如下#include int main() { int i, j; for(i = 0; i <...

潮南区17189979693: 一道C语言程序设计选择题,请说明解题过程,谢谢.
错喻托卡: A错 不允许有连等于,(其实那个“=”是赋值号,把它右边的值赋给左边) B错 因为已知y=3,所以y==1这个布尔判断即为False,把布尔值赋给整型(题目说x是int整型的),所以错. C正确 将整型的x强制类型转换为单精度Float型,再赋给i正确的 因为i是float型的 D错 题目中i没有赋初值,不能用来计算 . 回答完毕!!

潮南区17189979693: 求一道C语言程序题的答案与解题过程?
错喻托卡: 条件运算符 表达式1 ? 表达式2:表达式3,首先计算表达式1,如果表达式为true则计算表达式2的值,它也是整个表达式的值;如果表达式1为false,则计算表达式3的值,其值也为表达式的值; 表达式间是右结合的 所以本题先算第二个表达式的值,首先判断第二个表达式的条件,其为++a>4,所以a加1,这时a为2,但是这个条件为false,所以计算第二个条件表达式的第三个表达式(a++),也即第二个表达式的值为2,此时a又加1为3,整个c的表达式变为:c=(a>b)?b++:2,此时a为3,b=2,明显a>b,所以表达式的值也即c的值为b++,就是b的值2,然后b加1,变为2 最后答案:3,2,2

潮南区17189979693: C语言问题!很简单!请细答过程!谢谢!
错喻托卡: 恩,其实呢前面那两问,那位回答的很对,至于第三问不是13而是9 1->\n 2->\\ 3->\407 4->a 5->s 6->1 7->' 8->\xab 9->c 3->\407 8进制407即10制263,char超出大小,编译要报错 8->\xabc 16进制abc为十进制2748,同理编译不了. 9->\0 空字符.C风格字符串结尾都有空字符. 网上搜的,应该后面那种是对的...最后要个'\0'

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网