收藏 分享(赏)

c语言作业汇编.doc

上传人:hyngb9260 文档编号:5549366 上传时间:2019-03-07 格式:DOC 页数:28 大小:202.50KB
下载 相关 举报
c语言作业汇编.doc_第1页
第1页 / 共28页
c语言作业汇编.doc_第2页
第2页 / 共28页
c语言作业汇编.doc_第3页
第3页 / 共28页
c语言作业汇编.doc_第4页
第4页 / 共28页
c语言作业汇编.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

1、1. 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“,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,表示火车的出发时间和到达时间,计算并输出旅途时间有效的时间范围是0000 2359(前两位表示小时,后两位表示分钟),不需要考虑出发时间晚于到达时间的情况【样例输入输出】(括号内为说明文字 )Enter time1: 712 (出发时间是7:12)Enter time2: 1411 (到达时间

4、是14:11)The 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“,2: 7: printf(“Enter time2:“);2: 8: scanf(“%d“,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“,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+

7、9)%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: 3sum=0

8、.893【输入输出样例 2】(下划线部分表示输入)Enter n: 10sum=0.819【样例说明】输入提示符后要加一个空格。其中“:”后要加一个且只能一个空格。输出语句的“=”两边无空格。英文字母区分大小写。必须严格按样例输入输出。-: 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“,4: 8: a=1;4: 9: b=1;4: 10: sum=0;73: 11: for(i=1;i-: 2:double fac

9、t(double s)6: 3:6: 4:double i,a=1;50: 5:for (i=1;i-: 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-: 6: double area,perimeter,s;2: 7: printf(“Enter 3 sides of the triangle: “);2: 8: sc

10、anf(“%d%d%d“,4: 9: if(a+bc2: 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: printf(“These sides do not correspond to a valid triangle“);-: 17: 2: 18: return 0;-: 19: -: 20:3. 3.1.8计算个人所得税【问题描述】输入一个职工的月薪salar

11、y,输出应交的个人所得税tax(保留两位小数)。计算方式:tax=rate*(salary-850)当salary-: 2:int main(void)6: 3:-: 4: double tax,rate,salary;6: 5: printf(“Enter the salary: “);6: 6: scanf(“%lf“,6: 7: if(salary-: 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“,2: 7: grade=0;2: 8: a=b=

12、c=f=e=0;10: 9: for(i=1;i=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-: 2: int main(void)4: 3: -: 4: int i,number,min,n;4: 5: printf(“Input n: “);4: 6: scanf(“%d“,4: 7: printf(“Input numbers: “,n);4: 8: scanf(

13、“%d“,4: 9: min=number;14: 10: for(i=1;inumber)3: 13: 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+aaa(n 个 a)之和 例如,输入2和3,输出246(2+22+222)【输入形式】从键盘输入正整数 a 和正整数 n。【输入输出样例 1】(下划线部分表示输入)Input a, n: 8 5s=98760【样例

14、说明】输入提示符后要加一个空格。其中“:” 后要加一个且只能一个空格。输出语句的“=”两边无空格。英文字母区分大小写。必须严格按样例输入输出。-: 1:#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“,-: 9:2: 10: item=0;2: 11: s=0;-: 12:16: 13: for(i=1;i-: 2:int main(void)2: 3: -: 4: int i, n;-: 5: doub

15、le height,sum;2: 6: printf(“Input height: “);2: 7: scanf(“%lf“,2: 8: printf(“Input n: “);2: 9: scanf(“%d“,2: 10: sum=height;12: 11: for(i=1;i-: 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“,2: 9: printf(“Input n: “);2: 10: scanf(

16、“%d“,2: 11: if(m=1)1: 12: m=2;-: 13: 67: 14: for(x=m;xy)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【输入形式】输入一批正整数,

17、以0或负数为结束标志【输入输出样例1】(下划线部分表示输入)Input 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:in

18、t main()2: 9:2: 10: int sum=0,num=0;2: 11: printf(“Input integers: “);-: 12: while (1)-: 13: 17: 14: scanf(“%d“,17: 15: if (num-: 2: int prime(int i);-: 3: int main(void)2: 4: -: 5: int m,i,n,count,sum;2: 6: printf(“Input m: “);2: 7: scanf(“%d“, 2: 8: printf(“Input n: “);2: 9: scanf(“%d“,2: 10: coun

19、t=sum=0;30: 11: for(i=m;ii/2)11: 32: return 1;#: 33: 3.5.6 编程题 求一个整数中2的个数 【问题描述】读入一个整数,统计并输出该数中2的个数 要求定义并调用函数 countdigit(number,digit),它的功能是统计整数 number 中数字 digit 的个数例如,countdigit(10090,0) 的返回值是3【输入形式】输入一个整数【输入输出样例1】(下划线部分表示输入)Enter an integer: 21252Number of digit 2: 3【样例说明】输入提示符后要加一个空格。例如“Enter an

20、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 integer: “);2: 7: scanf(“%d“, 2: 8: printf(“Number of digit 2: %d n“, countdigit(number,digit) );2:

21、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+;-: 21: 2: 22: return count;-: 23: -: 24:4.5.7 编程题 求两个正整数之间的水仙花数【问题描述】输入2 个正整数 m 和 n(1m,n1000),输出 mn 之

22、间的所有水仙花数水仙花数是指各位数字的立方和等于其自身的数要求定义并调用函数 is(number)判断 number 的各位数字之立方和是否等于其自身【输入形式】输入2 个正整数 m 和 n(1m,n1000)【输入输出样例1】(下划线部分表示输入)Input m: 100Input n: 400153370371【样例说明】输入提示符后要加一个空格。例如“Input m: ”,其中“:”后要加一个且只能一个空格。英文字母区分大小写。必须严格按样例输入输出。-: 1:#include902: 2:int is(int n)902: 3:int s=0,x,m=n;-: 4: do2706: 5

23、: 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“,2: 17: printf(“Input n: “);2: 18: scanf(“%d“,904: 19: for(i=m;i-: 2:int main()2: 3:-: 4:int a10,i,n,max,j

24、;2: 5: printf(“Input n: “);2: 6: scanf(“%d“,2: 7: printf(“Input %d integers: “,n);13: 8: for(i=0;imax)-: 14: 5: 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 -: 2:void main()2: 3:-: 4: int i,n;-: 5: int

25、a10;-: 6: int s,p;-: 7:2: 8: printf(“Input n: “);2: 9: scanf(“%d“,2: 10: printf(“Input %d integers: “,n);13: 11: for(i=0;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;i-: 2:#include-: 3:int main(void)2: 4:-: 5: int a10;-: 6:

26、 int n,i,k,temp;2: 7: printf(“Input n: “);2: 8: scanf(“%d“,2: 9: printf(“Input %d integers: “,n);12: 10: for(i=0;ik;i-)-: 17: 21: 18: if(aiai-1)-: 19: 15: 20: temp = ai;15: 21: ai = ai - 1;15: 22: ai - 1 = temp;-: 23: -: 24: -: 25: 2: 26: printf(“After sorted:“);12: 27: for(i=0;i-: 2:int main(void)2

27、: 3:2: 4: int n,sum=0,i,j;-: 5: int a66;2: 6: printf(“please input n:n“);2: 7: scanf(“%d“,2: 8: printf(“input a array:n“);10: 9: for(i=0;i2: 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=02: 5: int a,b,c,i,s=-31;2: 6:

28、 printf(“Input year, month, day:“);2: 7: scanf(“%d%2d%2d“,2: 8: if(a%400=0)|(a%100)!=0)8: 10: for(i=0;i-: 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 must be a natural number less than 10000):“);8: 9: scanf(“%d“,8: 10: if(n10000|n-: 2:void d

29、elchar(char *s,char c)5: 3:-: 4: char *p;73: 5: for(p=s;*s;s+)68: 6: if(*s!=c)46: 7: *p+=*s;5: 8: *p=0;5: 9: -: 10: int main(void)5: 11: -: 12: char c,s100;-: 13:5: 14: printf(“Input a string:“);5: 15: gets(s);5: 16: printf(“Input a char:“);5: 17: scanf(“%c“,5: 18: delchar(s,c);5: 19: printf(“After

30、deleted,the string is:%s“,s);5: 20: return 0;-: 21: 3.【问题描述】字符串复制。输入一个字符串 t 和一个正整数 m,将字符串 t 中从第 m 个字符开始的全部字符复制到字符串 s 中,再输出字符串 s。要求用字符指针定义并调用函数 strmcpy(s,t,m),它的功能是将字符串 t 中从第 m个字符开始的全部字符复制到字符串 s 中。【输入形式】首先打印提示“Input a string:“;然后直接在冒号后面输入字符串,作为 t 的内容,字符串中可以包含空格;字符串以回车结束。打印提示“Input an integer:”;然后直接在冒

31、号后面输入一个正整数,代表 m 的值;回车。【输出形式】首先打印“Output is:”;紧跟后面输出字符串 s 中的内容;换行。【运行时的输入输出样例】 (下划线部分表示输入)Input a string:happy new yearInput an integer:7Output is:new year【评分标准】-: 1:#include-: 2:#include-: 3:int main(void)6: 4:-: 5: void strmcpy(char *s,char *t,int m);-: 6: int m;-: 7: char t80, s80;6: 8: printf(“In

32、put a string:“);6: 9: gets(t);6: 10: printf(“Input an integer:“);6: 11: scanf(“%d“,6: 12: strmcpy(s,t,m);6: 13: printf(“Output is:%s“,s);6: 14: -: 15:-: 16: void strmcpy(char *s,char *t,int m)6: 17: -: 18: char *from;-: 19: char *to;6: 20: from=t+m-1;6: 21: to=s;-: 22: do-: 23: 20: 24: *to=*from;20:

33、 25: from+;20: 26: to+;20: 27: while(*(from-1)!=0);-: 28:6: 29: 1.【问题描述】编写程序,从键盘输入 n(n-: 2:#define MAX 100-: 3:typedef struct Book-: 4: -: 5: char nameMAX;-: 6: double price;-: 7: Book;-: 8:-: 9: int main()2: 10: -: 11: Book books10;-: 12: double p;-: 13: int i, max, min,n;2: 14: printf(“Input n:“);

34、2: 15: scanf(“%d“,7: 16: for(i=0; i booksmax.price)#: 28: max = i;3: 29: if(booksi.price -: 2:int main(void)1: 3:int i,n,m;1: 4: scanf(“%d %d“,1: 5: printf(“ Sun Mon Tue Wed Thu Fri Satn“);3: 6: for (i=1;i-: 2:#include-: 3:int main()2: 4:-: 5: char a1000;-: 6: int l,i,k,m;2: 7: gets(a);2: 8: l=strle

35、n(a);9: 9: for(i=l-1;i=0;i-)-: 10: 7: 11: k=ai-0;7: 12: if(k%2=1)4: 13: putchar(ai);-: 14: 2: 15: printf(“ “);2: 16: m=l-1;3: 17: for(i=l-1;i=0;i-)-: 18: 3: 19: k=ai-0;3: 20: if(k!=0)2: 21: break;-: 22: 8: 23: for(;i=0;i-)-: 24: 6: 25: k=ai-0;6: 26: if(k%2=0)2: 27: putchar(ai);-: 28: 2: 29: return 0

36、;-: 30: -: 31:4. 【问题描述】编程,输入10个互不相等的正整数存入一维整型数组 a 中,要求对这10个数作相应的处理并按示例格式依次输出下列结果: 最大值和最小值及其所在位置下标; 平均值(保留1位小数); 大于并最接近平均值的数及其所在位置下标; 小于平均值的数的个数。 10个数按从小到大的顺序排列。【输入形式】从键盘输入10个互不相等的正整数存入一维整型数组 a 中。【输出形式】按样例格式依次输出以下各行: 最大值和最小值及其所在位置下标; 平均值(保留1位小数); 大于并最接近平均值的数及其所在位置下标; 小于平均值的数的个数; 10个数按从小到大的顺序排列。【样例输入】

37、 50 60 70 80 90 95 85 75 65 55【样例输出】 Maximum: a5=95Minimum: a0=50Average: 72.5Closest to: a7=75Less than: 5Sort: 50 55 60 65 70 75 80 85 90 95(注意:冒号后有个空格!)-: 1:#include-: 2:int main()1: 3:1: 4: int a10,max,min,i,close=0,less=0,k,j;-: 5: double sum,cha;1: 6: scanf(“%d“,1: 7: max=min=0;1: 8: sum=a0;10

38、: 9: for(i=1;iamax)3: 14: max=i;9: 15: if(aisum3: 28: close=i;-: 29: -: 30: 1: 31: printf(“Closest to: a%d=%dn“,close,aclose);1: 32: printf(“Less than: %dn“,less);11: 33: for(j=0;jai+1)-: 38: 14: 39: k=ai;14: 40: ai=ai+1;14: 41: ai+1=k;-: 42: -: 43: -: 44: 1: 45: printf(“Sort: “);11: 46: for(i=0;i-:

39、 2:#include-: 3:int main()1: 4:-: 5: char a1000;-: 6: int l,i,ne1000,temp,j,min_index;1: 7: gets(a);1: 8: l=strlen(a);7: 9: for(i=0;i=0;i-)6: 22: printf(“%d“,nei);1: 23: printf(“ “);3: 24: for(i=0;il;i+)-: 25: 3: 26: if(nei!=0)1: 27: break;-: 28: 5: 29: for(;il;i+)4: 30: printf(“%d“,nei);1: 31: return 0;-: 32: -: 33:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 中等教育 > 职业教育

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报