C语言题 上分

来源:百度知道 编辑:UC知道 时间:2024/05/31 00:53:23
37.下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环,请在① ②中
填入正确内容。
int n=0 , c ;
c =getchar( );
while ( ①)
{if ( ②) n++;
c=getchar( );
}

38.有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完。
请在① ②填空。
include <stdio.h>
main( )
( int day , x1 ,x2 ;
day=0 ;x1=1020;
while (_①_ )
{x2=_②_ ; x1=x2 ; day++;}
printf ("day=%d\n" , day);
}

39.完善下面程序,求s=2+2^2+2^3+2^4+2^5
#include <stdio.h>
main( )
{int a , s ,n ,count ;
a=2 ; s=0 ; n=1 ;count=1;
while ( ① )
{ ② ;
s=s+n;
++count ;
}
printf ("s=%d",s);
}

37.c!='\n'
c>='0'&&c<='9'
38.x1>0
x1/2-2
39.count<=5
n*=2

我是2楼的,楼上的朋友说我不对,我对此感到非常遗憾.请楼上的朋友去查一下C语言中"^"是什么运算符,谢谢.

37.c!='\n'
c>='0'&&c<='9'
38.x1>0
x1/2-2
39.①count<=5 ②n=2^count
上面的两个结果组合而成的啊.哈哈..'0'和0的结果是不一样的.其ASCII是不一样的,可以用int型输出看看啊..
x1>0是判断条件了..因为如果x1!=0中包含x1为负的可能
n=2^count 中count是1,2,3,4,5,所以,应该是这个结果了啊。..

37.①c!='\n' ②c>='0'&&c<='9'或c>=48&&c<=57
由于是一输入换行为结束,且换行符号是'\n'所以第一个空填c!='\n',程序的目的是统计的数字的个数,而数字的char型是'0'到‘9’,或者用ASCII码表示是 48到57之间的数所以第二空填c>='0'&&c<='9'或c>=48&&c<=57
38 ①x1>0② x1/2-2
很显然,x1是买了之后生的西瓜数目,do循环做的买的过程,只有x1>0才能买,所以第一个空填x1>0,一楼的是不对的因为x1可能是负值,比如买到我剩下1个西瓜了,再买的话x1就是-1,那就不能循环了,如果该空填x1!=0,那么需要继续循环的这就是错误的了。X2是卖后剩余的西瓜数,应该是x1的一半在减去2,所以第二空填x1/2-2
39①coun