作业及解答-2009

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

三、写出以下各程序运行的结果 (1) #include “stdio.h” main() {int a=10, b=29, c=5, d, e; d=(a+b)/c; e=(a+b)%c; printf(“d=%d, e=%d\n”, d, e);} 课本P67 3.9、3.10 P68 3.12 四、课本 、
第一次作业 1、 以下哪些是不合法的常量: 以下哪些是不合法的常量: ①0.01 ②5x1.5 ③999 ④+100 75.45e⑤75.45e-2.5 ⑥"15.75“ ⑦-45.6L ⑧-1.79e+4 2、以下哪些是不合法的变量名: 以下哪些是不合法的变量名: ①Minmum ② ③n+m ④&name ⑤doubles ⑥3d_row ⑦n$ ⑧Row1 ⑨float ⑩S_tal 3、下哪些算术表达式是合法的?合法的写出表达式值: 下哪些算术表达式是合法的?合法的写出表达式值: +9/4+ 15.25+① 25/3%2 ② +9/4+5 ③ 15.25+-5.0 ④ 7.5%3 ⑤(5/3)*3+5%3 ⑥ 14%3+7%2 ⑦ 21%(int)4.5 4、设整型变量i= 2,写出下面赋值表达式运算后i的值: 设整型变量i= 2,写出下面赋值表达式运算后i的值: (1)i-=3 (2)i+=i (3)i*=3+4 (4)i/=i+i i+=i(5)i+=i-=i*=I (6)i=i%2>0?1:0
第四次作业
编程计算: 编程计算 1、计算 3+7+11++(4*n-1) 、 2、 计算 7+72+73++7n 、 3、 计算 、
x x x x n1 x + + +(1) 1! 3! 5! 7! (2n 1)!
3
5
7
2n1
第四次作业解答 1、计算 3+7+11++(4*n-1) 、 main() { int i,n,s=0; printf("please input n\n"); n\ scanf("%d",&n); for(i=1;i<=n;i++) s=s+4*is=s+4*i-1; printf("3+7+11+...+(4*n-1)=%d\ printf("3+7+11+...+(4*n-1)=%d\n",s); }
方法二(switch): 方法二(switch):
main() { int score; scanf("%d",&score); if(score>100||score<0) printf("score is error!\n"); error!\ else { switch(score/15) { case 0: case 1: case 2: case 3:printf("D\n");break; 3:printf("D\ case 4:printf("C\n");break; 4:printf("C\ case 5:printf("B\n");break; 5:printf("B\ case 6:printf("A\n");break; } 6:printf("A\ } }
printf("each number is:\n"); is:\ /*求出万位数 求出万位数* ten_thousand=num/10000; /*求出万位数*/ thousand=num%10000/1000;/*求出千位数 thousand=num%10000/1000; /*求出千位数*/ 求出千位数* hundred=num%1000/100; /*求出百位数*/ /*求出百位数 求出百位数* ten=num%100/10; /*求出十位数*/ /*求出十位数 求出十位数* indiv=num%10; /*求出个位数*/ /*求出个位数 求出个位数* switch(place) { case 5: printf("%d,%d,%d,%d,%d\ printf("%d,%d,%d,%d,%d\n",ten_thousan d,thou sand,hundred,ten,indiv); printf("%d%d%d%d%d\ printf("%d%d%d%d%d\n",indiv,ten, _ hundred,thousand,ten_thousand);break;
第一次作业解答
1、合法的常量: 合法的常量: ①0.01 ③999 ④+100 ⑥"15.75" ⑧-1.79e+4 合法的常量: 75.45e合法的常量:②5x1.5 ⑤75.45e-2.5 ⑦-45.6L 2、合法的变量名:①Minmum ⑤doubles ⑧Row1 ⑩S_tal 合法的变量名: 不合法: 不合法::② ③n+m ④&name ⑥3d_row ⑦n$ ⑨float 3、下哪些算术表达式是合法的?合法的写出表达式值: 下哪些算术表达式是合法的?合法的写出表达式值: +9/4+ 15.25+① 25/3%2 0 ② +9/4+5 7 ③ 15.25+-5.0 ④ 7.5%3 ⑤(5/3)*3+5%3 5 ⑥ 14%3+7%2 3 ⑦ 21%(int)4.5 1 4、设整型变量i= 2,写出下面赋值表达式运算后i的值: 设整型变量i= 2,写出下面赋值表达式运算后i的值: -1 (1)i-=3 (2)i+=i 4 (3)i*=3+4 14 (4)i/=i+i 0 i+=i(5)i+=i-=i*=i 0 (6)i=i%2>0?1:0 0
case 4: printf("%d,%d,%d,%d\ printf("%d,%d,%d,%d\n",thousand,hundred,ten, indiv); printf("%d%d%d%d\ printf("%d%d%d%d\n",indiv,ten,hundred,thou sand);break; case 3: printf("%d,%d,%d\ printf("%d,%d,%d\n",hundred,ten,indiv); printf("%d%d%d\ printf("%d%d%d\n",indiv,ten,hundred);break; case 2:printf("%d,%d\n",ten,indiv); 2:printf("%d,%d\ printf("%d%d\ printf("%d%d\n",indiv,ten);break; case 1:printf("%d\n",indiv); 1:printf("%d\ printf("%d\ printf("%d\n",indiv);break; } }
第三次作业解答
1、先接收从键盘输入的一个百分制成绩,然后输出对应的四个 先接收从键盘输入的一个百分制成绩, 等级的成绩。转换规则如下: 等级的成绩。转换规则如下: 90— 90—100 A;75—89 B; 60—74 C; <60 D A;75— 60— C;
方法一(if): 方法一(if): main() { int score; printf("please input score\n"); score\ scanf("%d",&score); if(score>100||score<0) /*出错判断*/ /*出错判断 出错判断* printf("score is error!\n"); error!\ else if(score>=90) printf("A\n"); printf("A\ else if(score>=75) printf("B\n"); printf("B\ else if(score>=60) printf("C\n"); printf("C\ else printf("D\n");} printf("D\
z=x--; 使得x 20, z=x--; 使得x为20,z为21
空格>30XY<回车 回车> 二、20<空格 空格 回车 三、(1) d=7, e=4 (2) :f=0.000000
输出: 输出: z1=42 z2=41
第三次作业
1、先接收从键盘输入的一个百分制成绩,然后输出对 先接收从键盘输入的一个百分制成绩, 应的四个等级的成绩。转换规则如下: 应的四个等级的成绩。转换规则如下: 90——100 A; 75——89 B 90——100 A; 75——89 60——74 C; <60 60——74 C; D 请编程实现(分别用switch语句和 语句 语句和if语句) 请编程实现(分别用switch语句和if语句) 2、从键盘输入一个字符,判断它是否小写字母。若是, 从键盘输入一个字符,判断它是否小写字母。若是, 将其转换成大写字母,否则不进行转换, 将其转换成大写字母 , 否则不进行转换 , 作后输出 该字母。请编程实现。 该字母。请编程实现。 3、给一个不多于五位的正整数,求它是几位数、分别 给一个不多于五位的正整数,求它是几位数、 打印出每一位数据、逆序输出各位数字。 打印出每一位数据、逆序输出各位数字。
第二次作业解答
一、写出下列程序的运行结果: 写出下列程序的运行结果 z=++x; 使得x为21,z为21 使得x 21, main() {int x=20,z; z=++x; z+=x; printf(“Z1=%d\n”,z); printf(“Z1=%d\ z=xz=x- -; z+=x; printf(“Z2=%d\n”,z); printf(“Z2=%d\ }
3、给一个不多于五位的正整数,求它是几位数、分别 、给一个不多于五位的正整数,求它是几位数、
打印出每一位数据、逆序输出各位数字。 打印出每一位数据、逆序输出各位数字。 main() { long int num; /*int最大65535,所以定义为long*/ /*int最大 最大65535,所以定义为long*/ int indiv,ten,hundred,thousand,ten_thousand,place; printf("please input a number(1~99999)\n"); number(1~99999)\ scanf("%ld",&num); if(num&gace=4; else if(num>99) place=3; else if(num>9) place=2; else place=1; printf("place=%d\ printf("place=%d\n",place);
第二次作业
一、写出下列程序的运行结果: 写出下列程序的运行结果 main() { int x=20,z; z=++x; z+=x; printf(“Z1=%d\n”,z); printf(“Z1=%d\ z=xz=x- -; z+=x; printf(“Z2=%d\n”,z); printf(“Z2=%d\ } 写出以下各程序运行的输入内容: 二、写出以下各程序运行的输入内容: int x,y; char c,d; scanf(“%d%d”,&x,&y); scanf(%c&c”,&c,&d); 要求输入以后x,y,c,d的值分别为 的值分别为20,30,X,Y。 要求输入以后 的值分别为 。
2、从键盘输入一个字符,判断它是否小写字母。若是,将其转 从键盘输入一个字符,判断它是否小写字母。若是, 换成大写字母,否则不进行转换,作后输出该字母。 换成大写字母,否则不进行转换,作后输出该字母。请编程 实现。 实现。
#include<stdio. #include<stdio.h> main() { char c; c=getchar(); 等价 scanf(“%c”,&c); if( c<=‘A’ || c>=‘Z’ && c<=‘a’ || c<=‘a’ ) printf(“c is error!\n”); /*判断非字母情况*/ error!\ /*判断非字母情况 判断非字母情况* if(c<=‘z’&&c>=‘a’) /*判断是否是小写字母*/ /*判断是否是小写字母 判断是否是小写字母* c=cc=c-32; printf("%c\ printf("%c\n",c); }
相关文档
最新文档