c语言作业的总总汇编

上传人:痛*** 文档编号:83952841 上传时间:2022-05-02 格式:DOC 页数:16 大小:111KB
收藏 版权申诉 举报 下载
c语言作业的总总汇编_第1页
第1页 / 共16页
c语言作业的总总汇编_第2页
第2页 / 共16页
c语言作业的总总汇编_第3页
第3页 / 共16页
资源描述:

《c语言作业的总总汇编》由会员分享,可在线阅读,更多相关《c语言作业的总总汇编(16页珍藏版)》请在装配图网上搜索。

1、word1.1.1.3 编写程序,在屏幕上显示一个短句“Programming in C is fun!。【问题描述】1.1.3 编写程序,在屏幕上显示一个短句“Programming in C is fun!。【输入形式】无【输出形式】输出短句【样例输入】无【样例输出】Programming in C is fun!-: 1:#include -: 2:int main(void)1: 3:1: 4: printf(Programming in C is fun! n);1: 5: return 0;-: 6:2.1.1.4编程显示图案。【问题描述】编写程序,在屏幕上显示如如下图案。*【输入

2、形式】无【输出形式】图案【样例输入】【样例输出】【样例说明】符号之间无空格【评分标准】-: 1:#include-: 2:int main(void)1: 3:1: 4:printf(*n*n*n*n);1: 5:return 0;-: 6:1.2.1.5 编程,输入一个三位正整数,求解并输出该数的个位数、十位数和百位数。【问题描述】2.1.5 编程,输入一个三位正整数,求解并输出该数的个位数、十位数和百位数。【输入形式】输入三位正整数【输出形式】依次输出个、十、百位,用空格分隔【样例输入】152【样例输出】2 5 1-: 1:#include-: 2:int main(void)2: 3:-

3、: 4: int n;2: 5: scanf(%d,&n);2: 6: printf(%d %d %d n, n%10, n/10%10, n/100);2: 7: return 0;-: 8:2.2.2.7编程计算并输出旅途时间。【问题描述】2.2.7 输入2个整数time1和time2,表示火车的出发时间和到达时间,计算并输出旅途时间有效的时间X围是0000 2359(前两位表示小时,后两位表示分钟),不需要考虑出发时间晚于到达时间的情况【样例输入输出】(括号内为说明文字)Enter time1: 712 (出发时间是7:12)Enter time2: 1411 (到达时间是14:11)T

4、he train journey time is 6 hours 59 minutes-: 1:#include-: 2:int main(void)2: 3:-: 4: int a,b,c,d,time1,time2;2: 5: printf(Enter time1:);2: 6: scanf(%d,&time1);2: 7: printf(Enter time2:);2: 8: scanf(%d,&time2);2: 9: a=time1%100;2: 10: b=time2%100;2: 11: if(b=a)1: 12: c=(time2-time1)/100;1: 13: d=b-a

5、;-: 14: -: 15: else1: 16: c=(time2-time1)/100;1: 17: d=b-a+60;-: 18: 2: 19: printf(The train journey time is %d hours %d minutesn,c,d);2: 20: return 0;-: 21:3.2.2.8 编程题,输入一个四位正整数,将其加密后输出。【问题描述】2.2.8 输入一个四位正整数,将其加密后输出方法是将该数每一位上的数字加9,然后除以10 取余,作为该位上的新数字,最后将千位和十位上的数字互换,百位和个位上的数字互换,组成加密后的新四位数【样例输入输出】(括号

6、内为说明文字)Enter a number: 1257The encrypted number is 4601(每一位上的数字加9 除以10 取余后得0146,交换后得到4601)-: 1:#include-: 2:int main(void)2: 3:-: 4: int x,y,a,b,c,d;2: 5: printf(Enter a number:);2: 6: scanf(%d,&x);2: 7: d=x%10;2: 8: c=(x-d)%100/10;2: 9: b=(x/100)%10;2: 10: a=x/1000;2: 11: a=(a+9)%10;2: 12: b=(b+9)%

7、10;2: 13: c=(c+9)%10;2: 14: d=(d+9)%10;2: 15: y=c*1000+d*100+a*10+b;2: 16: printf(The encrypted number is %dn,y);2: 17: return 0;-: 18:4.2.3.5 求1-1/4+1/7-1/10+1/13-1/16+的前n 项之和【问题描述】输入一个正整数n,计算1-1/4+1/7-1/10+1/13-1/16+的前n 项之和,输出时保存3位小数。【输入形式】从键盘输入一个正整数n。【输入输出样例1】下划线局部表示输入Enter n: 3【输入输出样例2】下划线局部表示输入

8、Enter n: 10【样例说明】输入提示符后要加一个空格。其中“:后要加一个且只能一个空格。输出语句的“=两边无空格。英文字母区分大小写。必须严格按样例输入输出。-: 1:#include-: 2:int main(void)4: 3:-: 4: int a,b,i,n;-: 5: double m,sum;4: 6: printf(Enter n: );4: 7: scanf(%d,&n);4: 8: a=1;4: 9: b=1;4: 10: sum=0;73: 11: for(i=1;i=n;i+)69: 12: m=a*1.0/b;69: 13: sum=sum+m;69: 14: a

9、=-a;69: 15: b=b+3;-: 16: 4: 17: printf(sum=%.3fn, sum);4: 18: return 0;-: 19:-: 20:.2.4.3 求组合数【问题描述】根据如下公式可以计算出从n 个不同元素中取出m 个元素(mn)的组合数编写程序,输入2 个正整数m 和n(mn),计算并输出组合数要求定义和调用函数fact(n)计算n!,函数类型为double【输入形式】从键盘输入正整数m和正整数n。【输入输出样例1】下划线局部表示输入Enter m: 5Enter n: 12result=792【样例说明】输入提示符后要加一个空格。其中“:后要加一个且只能一个

10、空格。输出语句的“=两边无空格。英文字母区分大小写。必须严格按样例输入输出。-: 1:#include-: 2:double fact(double s)6: 3:6: 4:double i,a=1;50: 5:for (i=1;i=s;i+)44: 6:a=a*i;6: 7:return a;-: 8:-: 9:int main()2: 10: -: 11:double x,y,m,n;2: 12:printf(Enter m: );2: 13:scanf(%lf,&m);2: 14:printf(Enter n: );2: 15: scanf(%lf,&n);2: 16:y=fact(n-

11、m);2: 17:m=fact(m);2: 18: n=fact(n);2: 19:x=n/(y*m);2: 20:printf(result=%.0f,x);2: 21: return 0;-: 22:1.3.1.3 统计字符个数【问题描述】输入10 个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。【输入形式】从键盘输入正实数x的值。【输入输出样例1】下划线局部表示输入Input 10 characters: Reold 123?letter =5, blank =1, digit =3, other =1【样例说明】输入提示符后要加一个空格。例如“Input 10 char

12、acters: ,其中“:后要加一个且只能一个空格。输出语句的“=两边无空格。英文字母区分大小写。必须严格按样例输入输出。-: 1:#include-: 2:int main(void)2: 3:-: 4: int digit,i,letter,blank,other;-: 5: char ch;2: 6: digit=letter=blank=other=0;2: 7: printf(Input 10 characters: );22: 8: for(i=1;i=a&ch=A&ch=0&ch=9)6: 13: digit+;7: 14: else if(ch=n)|(ch= )3: 15:

13、blank+;-: 16: else1: 17: other+;-: 18: 2: 19: printf(letter=%d,blank=%d,digit=%d,other=%dn,letter,blank,digit,other);2: 20: return 0;-: 21: 2.【问题描述】输入三角形的三边a,b,c,如果能构成一个三角形,输出面积area和周长perimeter保存两位小数;否如此,输出“These sides do not correspond to a valid triangle在一个三角形钟,任意两边之和大于第三边。三角形面积 计算公式:area=sqrt(s*(

14、s-a)*(s-b)*(s-c)其中:s=(a+b+c)/2【输入形式】输入三角形的三条边的数据。【输入输出样例1】下划线局部表示输入Enter 3 sides of the triangle: 5 5 3area =7.15 ;perimeter =13.00【样例说明】输入提示符后要加一个空格。例如“Enter 3 sides of the triangle: ,其中“:后要加一个且只能一个空格。输出语句的“=两边无空格。英文字母区分大小写。必须严格按样例输入输出。-: 1:#include-: 2:#include-: 3:int main(void)2: 4:-: 5: int a,b

15、,c;-: 6: double area,perimeter,s;2: 7: printf(Enter 3 sides of the triangle: );2: 8: scanf(%d%d%d,&a,&b,&c);4: 9: if(a+bc&a+cb&b+ca)2: 10: s=(a+b+c)/2.00;2: 11: area=sqrt(s*(s-a)*(s-b)*(s-c);2: 12: perimeter=a+b+c;2: 13: printf(area=%.2f;perimeter=%.2fn,area,perimeter);-: 14: -: 15: else#: 16: print

16、f(These sides do not correspond to a valid triangle);-: 17: 2: 18: return 0;-: 19: -: 20:3.【问题描述】输入一个职工的月薪salary,输出应交的个人所得税tax保存两位小数)。计算方式:tax=rate*(salary-850)当salary=850时,rate=0;当850salary=1350时,rate=5%;当1350salary=2850时,rate=10%;当2850salary=5850时,rate=15%;当5850salary时,rate=20%;【输入形式】输入月薪。【输入输出样例1

17、】下划线局部表示输入Enter the salary : 【输入输出样例2】下划线局部表示输入Enter the salary : 【输入输出样例3】下划线局部表示输入Enter the salary : 800【输入输出样例4】下划线局部表示输入Enter the salary : 4010【输入输出样例5】下划线局部表示输入Enter the salary : 2850【样例说明】输入提示符后要加一个空格。例如“Enter the salary : ,其中“:后要加一个且只能一个空格。输出语句的“=两边无空格。英文字母区分大小写。必须严格按样例输入输出。-: 1:#include-: 2:

18、int main(void)6: 3:-: 4: double tax,rate,salary;6: 5: printf(Enter the salary: );6: 6: scanf(%lf,&salary);6: 7: if(salary=850)1: 8: rate=0;1: 9: tax=rate*(salary-850);-: 10: 5: 11: else if(salary=1350)1: 12: rate=0.05;1: 13: tax=rate*(salary-850);-: 14: 4: 15: else if(salary=2850)1: 16: rate=0.1;1:

19、17: tax=rate*(salary-850);-: 18: 3: 19: else if(salary=5850)1: 20: rate=0.15;1: 21: tax=rate*(salary-850);-: 22: -: 23: else2: 24: rate=0.2;2: 25: tax=rate*(salary-850);-: 26: 6: 27: printf(tax=%.2fn,tax);6: 28: return 0;-: 29: -: 30:4.3.1.9 统计等级分个数【问题描述】输入一个正整数n,再输入n个学生的百分制成绩整数,计算平均分,并统计各等级成绩的个数。成绩

20、等级分为五级,分别为A90-100、B80-89、C70-79、D60-69和E0-59。【输入形式】从键盘输入正整数n的,然后再数入n个人的成绩。【输入输出样例1】下划线局部表示输入Enter n: 5Enter grade 1:77Enter grade 2:54Enter grade 3:92Enter grade 4:73Enter grade 5:60The number of A(90 100):The number of B(80 89):0The number of C(70 79):2The number of D(60 69):1The number of E(0 59):

21、1【样例说明】输入提示符后要加一个空格。例如“Enter n: ,其中“:后要加一个且只能一个空格。输出语句的“=两边无空格。英文字母区分大小写。必须严格按样例输入输出。-: 1:#include-: 2:int main(void)2: 3: -: 4: int i,n,a,b,c,f,e,grade;2: 5: printf(Enter n: );2: 6: scanf(%d,&n);2: 7: grade=0;2: 8: a=b=c=f=e=0;10: 9: for(i=1;i=n;i+)8: 10: printf(Enter grade %d:,i);8: 11: scanf(%d,&

22、grade);10: 12: if(grade=90)2: 13: a+;6: 14: else if(grade=80)#: 15: b+;9: 16: else if(grade=70)3: 17: c+;5: 18: else if(grade=60)2: 19: f+;1: 20: else if(grade=59)1: 21: e+;-: 22: 2: 23: printf(The number of A(90 100):%dnThe number of B(80 89):%dnThe number of C(70 79):%dnThe number of D(60 69):%dnT

23、he number of E(0 59):%dn,a,b,c,f,e);2: 24: return 0;-: 25: 1.4.1.5 编程题求一批整数的最小值【问题描述】输入一个正整数n,再输入n个整数,输出最小值【输入形式】从键盘输入一个正整数n和n个整数。【输入输出样例1】下划线局部表示输入Input n: 4Input numbers: -2 -123 100 0min=-123【输入输出样例2】下划线局部表示输入Input n: 4Input numbers: -9 -1 1 -8min=-9【输入输出样例3】下划线局部表示输入Input n: 3Input numbers: 5 3

24、1min=1【样例说明】输入提示符后要加一个空格。其中“:后要加一个且只能一个空格。输入的数据之间以一个空格相隔。输出语句的“=两边无空格。英文字母区分大小写。必须严格按样例输入输出。-: 1:#include-: 2: int main(void)4: 3: -: 4: int i,number,min,n;4: 5: printf(Input n: );4: 6: scanf(%d,&n);4: 7: printf(Input numbers: ,n);4: 8: scanf(%d,&number);4: 9: min=number;14: 10: for(i=1;inumber)3: 1

25、3: min=number;-: 14: 4: 15: printf(min=%dn,min);4: 16: return 0;-: 17: 2.4.1.8 编程题求a +aa +aaa +aaa(n 个a) 之和【问题描述】输入2个正整数a和n,求a+aa+aaa+aaan个a之和例如,输入2和3,输出2462+22+222【输入形式】从键盘输入正整数a和正整数n。【输入输出样例1】下划线局部表示输入Input a, n: 8 5s=98760【样例说明】输入提示符后要加一个空格。其中“:后要加一个且只能一个空格。输出语句的“=两边无空格。英文字母区分大小写。必须严格按样例输入输出。-: 1

26、:#include-: 2:#include-: 3:int main(void)2: 4:-: 5: int i,a,n,item,s;-: 6:2: 7: printf(Input a, n: );2: 8: scanf(%d%d,&a,&n);-: 9:2: 10: item=0;2: 11: s=0;-: 12:16: 13: for(i=1;i=n;i+)14: 14: item=item*10+a;14: 15: s=s+item;-: 16: 2: 17: printf(s=%dn,s);-: 18:2: 19: return 0;-: 20:-: 21:3.4.1.9 编程题自

27、由落体运动求第n次反弹落地经过的路程与第n次反弹高度【问题描述】皮球从height米的高度自由落下,触地后反弹到原高度的一半,再落下,再反弹,如此反复皮球在第n次反弹落地时,在空中经过的路程是多少米?第n次反弹的高度是多少?输出保存1位小数【输入形式】从键盘输入两个正整数height和n。【输入输出样例1】下划线局部表示输入Input height: 10Input n: 2【输入输出样例2】下划线局部表示输入Input height: 100Input n: 8【样例说明】输入提示符后要加一个空格。其中“:后要加一个且只能一个空格。输出语句分两行输出,并且输出语句的“=两边无空格。英文字母区

28、分大小写。必须严格按样例输入输出。-: 1:#include -: 2:int main(void)2: 3: -: 4: int i, n;-: 5: double height,sum;2: 6: printf(Input height: );2: 7: scanf(%lf,&height);2: 8: printf(Input n: );2: 9: scanf(%d,&n);2: 10: sum=height;12: 11: for(i=1;i=n;i+)-: 12: 10: 13: height=height/2.0;10: 14: sum=sum+2*height;-: 15: 2:

29、 16: printf(distance=%.1fn,sum);2: 17: printf(height=%.1fn,height);-: 18:-: 19:-: 20:2: 21: return 0;-: 22: 4.4.2.2 编程题求m和n之间的所有素数【问题描述】输入两个正整数m和nm1,n500,输出m和n之间的所有素数,每行输出6个素数是指只能被1和自身整除的正整数,最小的素数是2【输入形式】从键盘输入两个正整数m和n。【输入输出样例1】下划线局部表示输入Input m: 1Input n: 35 2 3 5 7 11 13 17 19 23 29 31【样例说明】每行输出6个正整

30、数,每个正整数按%4d格式输出输入提示符后要加一个空格。其中“:后要加一个且只能一个空格。英文字母区分大小写。必须严格按样例输入输出。-: 1:#include-: 2:#include-: 3:int main(void)2: 4:-: 5: int count,i,m,n,y,x;2: 6: count=0;2: 7: printf(Input m: );2: 8: scanf(%d,&m);2: 9: printf(Input n: );2: 10: scanf(%d,&n);2: 11: if(m=1)1: 12: m=2;-: 13: 67: 14: for(x=m;x=n;x+)6

31、5: 15: y=sqrt(x);155: 16: for(i=2;iy)18: 20: printf(%4d,x);18: 21: count+;18: 22: if(count%6=0)2: 23: printf(n);-: 24: -: 25: 2: 26: printf(n);2: 27: return 0;-: 28:1.5.3编程题求一批正整数的奇数和【问题描述】输入一批正整数(以零或负数为完毕标志),求其中的奇数和要求定义和调用函数even(n)判断数的奇偶性,当n为偶数时返回1,否如此返回0【输入形式】输入一批正整数,以0或负数为完毕标志【输入输出样例1】下划线局部表示输入In

32、put integers: 12 9 7 18 3 11 20 0The sum of the odd numbers is 30【样例说明】输入提示符后要加一个空格。例如“Input integers: ,其中“:后要加一个且只能一个空格。输入的数据之间以一个空格相隔。输出语句的“is后面加一个且只能加一个空格。英文字母区分大小写。必须严格按样例输入输出。-: 1:#include-: 2:-: 3:int even(int num)15: 4:15: 5: return num%2;-: 6:-: 7:-: 8:int main()2: 9:2: 10: int sum=0,num=0;2

33、: 11: printf(Input integers: );-: 12: while (1)-: 13: 17: 14: scanf(%d,&num);17: 15: if (num=0)2: 16: break;15: 17: if (even(num)8: 18: sum+=num;15: 19: 2: 20: printf(The sum of the odd numbers is %dn,sum);2: 21: return 1;-: 22:2.5.5 编程题 求两个正整数之间的素数个数与和【问题描述】输入2 个正整数m 和n(m1,n500),统计并输出m 和n 之间的素数的个数以

34、与这些素数的和素数就是只能被1 和自身整除的正整数,最小的素数是2要求定义并调用函数prime(m)判断m 是否为素数,当m 为素数时返回1,否如此返回0【输入形式】输入2个正整数m和n,要求m1,n500【输入输出样例1】下划线局部表示输入Input m: 1Input n: 10count=4, sum=17【样例说明】输入提示符后要加一个空格。例如“Input m: ,其中“:后要加一个且只能一个空格。输出语句的“=两边无空格,count=4的逗号后有一个空格,然后是sum=17英文字母区分大小写。必须严格按样例输入输出。-: 1:# include -: 2: int prime(in

35、t i);-: 3: int main(void)2: 4: -: 5: int m,i,n,count,sum;2: 6: printf(Input m: );2: 7: scanf(%d, &m);2: 8: printf(Input n: );2: 9: scanf(%d,&n);2: 10: count=sum=0;30: 11: for(i=m;i=n;i+)28: 12: if(prime(i)=1)11: 13: count+;11: 14: sum=sum+i;-: 15: -: 16: -: 17:2: 18: printf(count=%d, sum=%d n,count,

36、sum);-: 19:2: 20: return 0;-: 21: -: 22:-: 23: int prime(int i)28: 24: -: 25: int a;28: 26: if(i=1)1: 27: return 0;60: 28: for(a=2;ai/2)11: 32: return 1;#: 33: 3.5.6 编程题 求一个整数中2的个数【问题描述】读入一个整数,统计并输出该数中2的个数要求定义并调用函数countdigit(number,digit),它的功能是统计整数number 中数字digit 的个数例如,countdigit(10090,0) 的返回值是3【输入形

37、式】输入一个整数【输入输出样例1】下划线局部表示输入Enter an integer: 21252Number of digit 2: 3【样例说明】输入提示符后要加一个空格。例如“Enter an integer: ,其中“:后要加一个且只能一个空格。输出语句的“:后要加一个且只能一个空格。英文字母区分大小写。必须严格按样例输入输出。-: 1:# include -: 2:int countdigit(int number, int digit);-: 3:int main(void)2: 4:-: 5: int number,digit;2: 6: printf(Enter an inte

38、ger: );2: 7: scanf(%d, &number);2: 8: printf(Number of digit 2: %d n, countdigit(number,digit) );2: 9: return 0;-: 10: -: 11:-: 12: int countdigit(number,digit)2: 13: -: 14: int i,count;2: 15: count=0;15: 16: while(number!=0)11: 17: i=number%10;11: 18: number=number/10;11: 19: if(i=2)7: 20: count+;-

39、: 21: 2: 22: return count;-: 23: -: 24:4.5.7 编程题 求两个正整数之间的水仙花数【问题描述】输入2 个正整数m 和n(1m,n1000),输出mn之间的所有水仙花数水仙花数是指各位数字的立方和等于其自身的数要求定义并调用函数is(number)判断number的各位数字之立方和是否等于其自身【输入形式】输入2个正整数m 和n(1m,n1000)【输入输出样例1】下划线局部表示输入Input m: 100Input n: 400153370371【样例说明】输入提示符后要加一个空格。例如“Input m: ,其中“:后要加一个且只能一个空格。英文字母区

40、分大小写。必须严格按样例输入输出。-: 1:#include902: 2:int is(int n)902: 3:int s=0,x,m=n;-: 4: do2706: 5: x=m%10;2706: 6: s+=x*x*x;2706: 7: m/=10;2706: 8: while(m);902: 9: if(s=n)7: 10: return 1;895: 11: return 0;-: 12: 2: 13: int main()-: 14: int m,n,i;2: 15: printf(Input m: );2: 16: scanf(%d,&m);2: 17: printf(Input

41、 n: );2: 18: scanf(%d,&n);904: 19: for(i=m;i=n;i+)902: 20: if(is(i)7: 21: printf(%dn,i);2: 22: return 0;-: 23: 1.* 7.1.4 编程题求一组整数的最大值与其下标【问题描述】输入一个正整数n(1n10),再输入n个整数,输出最大值与其下标(设最大值唯一,下标从0 开始)【输入形式】从键盘输入一个正整数n和n个整数。【输入输出样例1】下划线局部表示输入Input n: 5Input 5 integers: 1 2 5 4 0max=5, index=2【样例说明】输入提示符后要加一个空

42、格。例如“Input n: ,其中“:后要加一个且只能一个空格。等号前后无空格,逗号后有一个空格。英文字母区分大小写。必须严格按样例输入输出。-: 1:#include-: 2:int main()2: 3:-: 4:int a10,i,n,max,j;2: 5: printf(Input n: );2: 6: scanf(%d,&n);2: 7: printf(Input %d integers: ,n);13: 8: for(i=0;in;i+)13: 9: scanf(%d,&ai); max=a0;2: 10: j = 1;13: 11: for(i=0;imax)-: 14: 5:

43、15: max= ai;5: 16: j = i;-: 17: -: 18: 2: 19: printf(max=%d, index=%dn,max,j);2: 20: return 0;-: 21: 2.* 7.1.5 编程题交换最大、最小值【问题描述】输入一个正整数n(1 n10),再输入n 个整数,将最小值与第一个数交换,最大值与最后一个数交换,然后输出交换后的n 个数【输入形式】从键盘输入一个正整数n和n个整数。【输入输出样例1】下划线局部表示输入Input n: 5Input 5 integers: 8 2 5 1 4After swapped: 1 2 5 4 8 每个输出数据间有

44、一个空格【样例说明】输入提示符后要加一个空格。例如“Input n: ,其中“:后要加一个且只能一个空格。英文字母区分大小写。必须严格按样例输入输出。-: 1:#include-: 2:void main()2: 3:-: 4: int i,n;-: 5: int a10;-: 6: int s,p;-: 7:2: 8: printf(Input n: );2: 9: scanf(%d,&n);2: 10: printf(Input %d integers: ,n);13: 11: for(i=0;in;i+)-: 12: 11: 13: scanf(%d,&ai);-: 14: 2: 15:

45、 s=a0;2: 16: p=0;11: 17: for(i=1;in;i+)-: 18: 9: 19: if(sai)-: 20: 1: 21: s=ai;1: 22: p=i;-: 23: -: 24: 2: 25: ap=an-1;2: 26: an-1=s;2: 27: s=a0;2: 28: p=0;11: 29: for(i=1;iai)-: 32: 4: 33: s=ai;4: 34: p=i;-: 35: -: 36: 2: 37: printf(After swapped: );2: 38: ap=a0;2: 39: a0=s;13: 40: for(i=0;in;i+)11

46、: 41: printf(%d ,ai);2: 42: printf(n);2: 43:3.* 7.1.6 编程题给一组整数排序【问题描述】输入一个正整数n(1 n10),再输入n个整数,将它们从大到小排序后输出【输入形式】从键盘输入一个正整数n和n个整数。【输入输出样例1】下划线局部表示输入Input n: 4Input 4 integers: 5 1 7 6After sorted: 7 6 5 1【样例说明】输入提示符后要加一个空格。例如“Input n: ,其中“:后要加一个且只能一个空格。英文字母区分大小写。必须严格按样例输入输出。-: 1:#include-: 2:#include

47、-: 3:int main(void)2: 4:-: 5: int a10;-: 6: int n,i,k,temp;2: 7: printf(Input n: );2: 8: scanf(%d,&n);2: 9: printf(Input %d integers: ,n);12: 10: for(i=0;in;i+)-: 11: 10: 12: scanf(%d,&ai);-: 13: 10: 14: for(k=0;kk;i-)-: 17: 21: 18: if(aiai-1)-: 19: 15: 20: temp = ai;15: 21: ai = ai - 1;15: 22: ai -

48、 1 = temp;-: 23: -: 24: -: 25: 2: 26: printf(After sorted:);12: 27: for(i=0;in;i+)10: 28: printf( %d,ai);2: 29: system(pause);2: 30: return 0;-: 31: 4.7.2.2 编程题计算矩阵中局部数据之和【问题描述】读入一个正整数n(1n6),再读入n 阶矩阵a,计算该矩阵除副对角线最后一列和最后一行以外的所有元素之和(副对角线为从矩阵的右上角至左下角的连线)【输入形式】从键盘输入一个正整数n和n阶矩阵。【输入输出样例1】下划线局部表示输入Input n:4

49、Input array:2 3 4 15 6 1 17 1 8 11 1 1 1sum =35【样例说明】输入提示符后要加一个空格。例如“Input n: ,其中“:后要加一个且只能一个空格。英文字母区分大小写。必须严格按样例输入输出。-: 1:#include-: 2:int main(void)2: 3:2: 4: int n,sum=0,i,j;-: 5: int a66;2: 6: printf(please input n:n);2: 7: scanf(%d,&n);2: 8: printf(input a array:n);10: 9: for(i=0;in;i+)40: 10:

50、for(j=0;jn;j+)32: 11: scanf(%d,&aij);-: 12:8: 13: for(i=0;in-1;i+)24: 14: for(j=0;jn-1;j+)18: 15: if(i!=(n-1-j)14: 16: sum=sum+aij;2: 17: printf(the sum=%d,sum);2: 18: return 0;-: 19:-: 20: 5.7.3.5 编程题滤去所有的非十六进制字符,并输出其十进制数【问题描述】(少于80 个字符),滤去所有的非十六进制字符后,组成一个新字符串(十六进制形式),然后将其转换为十进制数后输出【输入形式】输入一个以回车完毕的

51、字符串【输入输出样例1】下划线局部表示输入Input a string: 10Hex=16【样例说明】输入提示符后要加一个空格。例如“Input n: ,其中“:后要加一个且只能一个空格。英文字母区分大小写。必须严格按样例输入输出。-: 1:#include2: 2:int main()-: 3: char s80;2: 4: int i,n=0;2: 5: printf(Input a string:);2: 6: gets(s);2: 7: i=0;8: 8: while(si!=0)4: 9: if(si=0&si=9)2: 10: n=n*16+si-0;2: 11: i+;2: 12

52、: continue;-: 13: 2: 14: switch(si)-: 15: case a:#: 16: case A:n=n*16+10;break;-: 17: case b:1: 18: case B:n=n*16+11;break;-: 19: case c:#: 20: case C:n=n*16+12;break;-: 21: case d:#: 22: case D:n=n*16+13;break;-: 23: case e:#: 24: case E:n=n*16+14;break;-: 25: case f:#: 26: case F:n=n*16+15;break;-

53、: 27: 2: 28: i+;-: 29: 2: 30: printf(Hex=%dn,n);2: 31: return 0;-: 32:6.7.2.5 编程题输出某日期为该年的第几天【问题描述】输入日期(年月日),输出它是该年的第几天【输入形式】从键盘输入一个日期。【输入输出样例1】下划线局部表示输入Input year, month, day: 1981 3 1Days of year: 60【样例说明】输入提示符后要加一个空格。例如“Input n: ,其中“:后要加一个且只能一个空格。英文字母区分大小写。必须严格按样例输入输出-: 1:#include-: 2:int main(vo

54、id)2: 3:2: 4: int n12=31,28,31,30,31,30,31,31,30,31,30,31;2: 5: int a,b,c,i,s=-31;2: 6: printf(Input year, month, day:);2: 7: scanf(%d%2d%2d,&a,&b,&c);2: 8: if(a%400=0)|(a%100)!=0)&a%4=0)1: 9: n1=n1+1;8: 10: for(i=0;ib;i+)6: 11: s=s+ni;2: 12: printf(Days of year: %d n,s+c);2: 13: return 0;-: 14: 1.【

55、问题描述】有n个人围成一圈,按顺序从1到n编号。从第一个人开始报数,报数3的人退出圈子,下一个人从1开始重新报数,报数3的人退出圈子。如此循环,直到留下最后一个人。问留下来的人的编号。【输入形式】考虑如下两种情况:如果n超出“n must be a natural number less than 10000,如此打印“n is out of range of valid values.;其中n应该用如上输入的具体的n数值代替;换行;如果n是有效X围的数值,如此打印“Last No. is:;然后直接在冒号后面输出最后留下来的人的编号;换行;【运行时的输入输出样例1】下划线局部表示输入Inpu

56、t n(n must be a natural number less than 10000):5Last No. is:4【运行时的输入输出样例2】下划线局部表示输入Input n(n must be a natural number less than 10000):100000100000 is out of range of valid values.-: 1:#include-: 2:#include-: 3:int main()8: 4:8: 5: int i=0,j=0;8: 6: int a10000=0;-: 7: int n;8: 8: printf(Input n(n m

57、ust be a natural number less than 10000):);8: 9: scanf(%d,&n);8: 10: if(n10000|n=0)-: 11: 3: 12: printf(%d is out of range of valid values.n,n);3: 13: exit(1);-: 14: 111: 15: for(j=0;jn;j+)106: 16: aj=1;5: 17: int k=0;5: 18: int sum=0;-: 19: do-: 20: 1240: 21: k=k+ai%n;1240: 22: if(k=3)-: 23: 106: 2

58、4: ai%n=0;106: 25: k=0;106: 26: sum=0;-: 27: 1240: 28: i+;104731: 29: for(j=0;jn;j+)103491: 30: sum=sum+aj;1240: 31: while(sum!=0);5: 32: printf(Last No. is:%dn,(i-1)%n+1);5: 33: return 0;-: 34: 2.【问题描述】删除字符串中的字符。输入一个字符串s,再输入一个字符c,将字符串s中出现的所有字符c删除。要求定义并调用函数delchar(s,c),它的功能是将字符串s中出现的所有c字符删除。【输入形式】首先打印提示“Input a string:;然后直接在冒号后面输入字符串,字符串中可以包含空格;字符串以回车完毕。打印提示“Input a char:;然后直接在冒号后面输入一个字符;回车。【输出形式】首先打印“After deleted,the string is:;紧跟后面输出被删除后的字符串剩余内容;换行。【运行时的输入输出样例】下划线局部表示输入

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!