一。main()
{ int a=0,b=1,c=0,d=20;
if(a) d=d-10;
else if(!b)
if(!c) d=15;
else d=25;
printf(d="d\n",d)
}
输出结果是多少?
二。设int x=10,y,z;执行y=z=x;x=y==z后,变量x的结果是多少?
三。#include<stdio.h>
main()
while(c=getchar()!="\n")
switch(c-""2")
{case 0:
case1:putchar(c+4);
case2:putchar(c+4);break;
case3:putchar(c+3);
default:putchar(c+2);break;
}
printf("\n");
}
一题十分,谢谢了
第三题 漏了问题 从键盘上输入446755 程序的输出是什么
原题全都是双引号 而且是int c 不是char
我只是打漏了第一个花括号而已
我知道代码错误多。。。。有的是我打错了,有的是原题错了。。。各位大神不要纠结细节了OTZ.....意会就好。。。只求解答过程。。。。
第三题题目上写的就是双引号
提问已经修改了 请帮忙看一下谢谢。。。。。。
那个是打漏的。。。笔误。。。细节就不要计较了。。。。
第三题怎么做?(看问题补充)
代码错误太多。
结果:88898787
修改后代码:
#include
main()
{
int c;
while((c=getchar())!='\n')
{
switch(c-'2')
{
case 0:
case 1:
putchar(c+4);
case 2:
putchar(c+4);
break;
case 3:
putchar(c+3);
default:
putchar(c+2);
break;
}
}
printf("\n");
}
我知道代码错误多。。。。有的是我打错了,有的是原题错了。。。各位大神不要纠结细节了OTZ.....意会就好。。。只求解答过程。。。。
追答main()
{
int c;
while((c=getchar())!='\n') // 输入:446755
{
switch(c-'2')// 字符串446755经过c-'2'处理后,对应数字224533
{
case 0:
case 1:
putchar(c+4);
case 2:
putchar(c+4); // 前2个22,执行这里,对应字符串44,加4后,输出88
break;
case 3:
putchar(c+3);// 33执行这里,对应字符串55,加3后,变成88,由于没有break;
所以接着执行default,putchar(c+2);,加2后是77,所以输出为8787
default:
putchar(c+2);// 45执行这里,对应字符串67,加2后,输出89
break;
}
}
printf("\n");
}
1.这是字符串,题目却是int c 请问是题目出错了吗
2.switch(c-'2')// 字符串446755经过c-'2'处理后,对应数字224533 以后的程序是要在原字符串的基础上修改,而不是在-2后的数字上修改对吧。。。?
3. putchar(c+3);// 33执行这里,对应字符串55,加3后,变成88,由于没有break; 所以接着执行default,putchar(c+2);,加2后是77,所以输出为8787这里完全不懂。。。OMG
1.int c没有错。它存储,字符的ASCII码值。
2 以后的程序是要在原字符串的基础上修改。
3
case 3: putchar(c+3);// 由于这里没有break;所以执行完毕此case后,它会顺序执行,也就是执行哪个default。
default: putchar(c+2);break;
你单步跟踪代码就知道了。
几个简单的c语言小问题 解决一题给十分
一。 d=20 if(a) d=d-10; a=0 if条件语句为假不执行 else if(!b) 不执行 if(!c) d=15; else d=25;是 else if(!b)下的语句 也不执行 二。 x=1 y=z=x; 赋值语句 x先赋给z 再赋给y x=y==z 先判断条件语句 y==z 是真 的...
请教几个简单的C语言问题!急!在线等!
4、二进制文件虽然也可在屏幕上显示,但其内容无法读懂。C系统在处理这些文件时,并不区分类型,都看成是字符流,按字节进行处理。格式控制串是一个字符串,必须用双引号括起来,它表示了输入输出量的数据类型。5、空语句:只有分号“;”组成的语句称为空语句。空语句是什么也不执行的语句。在程序中...
两个C语言小问题,十分简单
x+a%3*(int)(x+y)%2\/4 \/\/先算(int)(x+y)=2.5+7%3*7%2\/4 =2.5+1*7%2\/4 =2.5+7%2\/4 =2.5+1\/4 \/\/1\/4是整数除,因此为0 =2.5+0 =2.5 a\/=a+a 相当于 a=a\/(a+a)=12\/24 \/\/12\/24是整数除,因此为0 =0 ...
简单的C语言问题
第一个问题:2\/4实际的值是0.5,但是由于是整型数值进行运算,所以,它的值系统会截断,即为0,那么后面的表达式为0,所以第一个式子的值为x,即2.5 第二个问题:这个表达式其实是一个逗号表达式,逗号表达式的值是最后一个语句,即x+1的值,但是这个过程里要从左至右依次进行运算 第三个问题:...
C语言问题简单的很,菜鸟送分,在线等
不就是输入一个正整数,然后反序输出么,关键部分无非就是 while(k!=0){ m=k%10;t=t*10+m;k\/=10;} 10可以直接取一个数的个位数,\/10则相当于将个位数去掉,把原来的十位数变成现在的个位数,然后就可以用%10取个位数(即原来的十位数),以此类推,可以取完该数的各位数....
用简单的C语言编写,有加分。
{ int stu[10]={65,75,45,80,90,60,39,95,78,55};int i=0,sum=0;if(i<10){ sum+=stu[i];i++;} printf("平均分:%f",sum*0.1);} 第二题 include<stdio.h> int main(){ int pf[8],i=0,max,min,sum=0;float ave;do{ printf("请%d号评委打分:");scanf("%d",&pf...
几个简单的C语言
1.include <stdio.h> int gcd( int a, int b ){ int rem;while ( b ){ rem = a % b;a = b;b = rem;} return rem;} int main( ){ int a, b;scanf("%d%d", &a, &b);printf("%d\\n", gcd( a, b ));return 0;} 2.include <stdio.h> int gcd( int a, int b...
简单c语言问题
首先 --x==y++ 前加减运算是先加减,后运算;后加减运算是先运算,后加减。因此,在进行==比较前,x=x-1=9,y=9 所以--x==y++的结果为真,执行--x分支,此时,x=x-1=8,得到a=8 最后y=y+1=10 然后到b=x++,先用x给b赋值,然后再加加,所以,b=8 最后c=y得到c=10;因此 a...
C语言问题简单的很,菜鸟送分,在线等
1.程序分析:用第一个与最后一个交换。2.程序源代码:define N 5 main(){ int a[N]={9,6,5,4,1},i,temp;printf("\\n original array:\\n");for(i=0;i<N;i++)printf("%4d",a[i]);for(i=0;i<N\/2;i++){temp=a[i];a[i]=a[N-i-1];a[N-i-1]=temp;} printf("...
简单的c语言题目
x初值为12,n初值为5 x%=(n%=2)n%=2就是n除以2的余数,结果为1 然后x%=1表示x除以1的余数,结果为0 所以x%=(n%=2)=0 3*a*e\/b\/*c错在b,c之间,有2个运算符了\/*,去掉其中之一就可以了。