




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
;.1. 有一个函数,写一段程序,输入的值,输出的值。#includeint main()int x,y;scanf(%d,&x);if(x100|x0)y=-1;else if(x=0)y=0;else y=1;printf(%dn,y);return 0;2. 输入3个实数a,b,c,输出其中最小的数。#includeint main()int a,min=32767,n=3;while(n-)scanf(%d,&a);if(amin)min=a;printf(%dn,min);return 0;3. 输入三角形的三边a,b,c,判断a,b,c,能否构成三角形,若能,计算面积。#include#includeint main()int a,b,c,s,d;scanf(%d%d%d,&a,&b,&c);if(a+bc&a+cb&b+ca)d=(a+b+c)/2;s=sqrt(d*(d-a)*(d-b)*(d-c);printf(%dn,s);elseprintf(三边构不成三角形n);4. 输入4个整数,输出4个数中的最大值、最小值。#includeint main()int a,max=-32768,min=32767,n=4;while(n-)scanf(%d,&a);if(amax)max=a;if(amin)min=a;printf(%d %dn,max,min);return 0;5. 要求按照成绩的等级输出百分制分数段, A等为90分以上,B等为8089,C等为7079,D等为6069,E等为60分以下。成绩的等级由键盘输入,若输入的等级非A、B、C、D、E字符,输出”enter data error”。 #includeint main()char a;a=getchar();if(a=A)printf(90分以上n);else if(a=B)printf(8089n);else if(a=C)printf(7079n);else if(a=D)printf(6069n);else if(a=E)printf(60分以下n);else printf(enter data errorn);return 0;6. 有一个函数:,写一段程序,输入的值,输出的值。#includeint main()int x,y;scanf(%d,&x);if(x1)y=x;printf(%dn,y);else if(x=10)y=3*x-11;printf(%dn,y);else y=2*x-1;printf(%dn,y);return 0;7. 输入成绩,要求输出成绩等级A、B、C、D、E或error。90分以上为A,8089分为B,7079分为C,6069分为D,060分为E。若输入成绩低于0分和高于100分则输出error。#includeint main()int a;scanf(%d,&a);if(a100)printf(errorn);elseif(a90)printf(An);else if(a80)printf(Bn);else if(a70)printf(Cn);else if(a60)printf(Dn);elseprintf(En);return 0; 8. 求一元二次方程ax2+bx+c=0的解。(考虑b2-4ac三种情况)#include#includeint main()double a,b,c,d,e,x1,x2,i;scanf(%lf%lf%lf,&a,&b,&c);d=b*b-4*a*c;e=-b/(2*a);if(d1e-6)x1=e+sqrt(d)/(2*a);x2=e-sqrt(d)/(2*a);printf(%.2lf %.2lf,x1,x2);else if(d=1e-6)x1=x2=e;printf(%.2lf %.2lf,x1,x2);elseprintf(%.2lf+%.2lfi %.2lf-%.2lfin,e,sqrt(-d)/(2*a),e,sqrt(-d)/(2*a);return 0; 9. 输入某年某月某日,判断这一天是这一年的第几天?(注意是否为闰年)#includeint main()int i,n=0,year,math,day,s12=31,28,31,30,31,30,31,31,30,31,30,31;scanf(%d%d%d,&year,&math,&day);if(year%4=0&year%100!=0)|(year%400=0)s1=29;for(i=0;imath-1;i+)n=n+si;n=n+day;printf(%dn,n);return 0;10. 公司规定,男职工到60岁退休,女职工到55岁退休。编写一个程序,输入职工的性别和年龄,判断出该职工是“已退休”还是“在职”。(输入时,用一个小写英文字母来表示性别,m表示男性,f表示女性)。#includeint main()char a;int b;a=getchar();scanf(%d,&b);if(a=m)if(b=60)printf(已退休n);else printf(在职n);else if(a=f)if(b=55)printf(已退休n);elseprintf(在职n);return 0;11.输入一个数,判断该数是否为素数。#includeint main()int a,b;scanf(%d,&a);for(b=2;ba;b+)if(a%b=0)break;if(ba) printf(%d is not a prime number.n,a);elseprintf(%d is a prime number.n,a);return 0;12. 编程实现求解s=1*2+2*3+3*4+20*21,并输出结果。#includeint main()int a,s=0;for(a=1;a=20;a+)s=s+a*(a+1);printf(%dn,s);return 0;13.求Fibonacci数列的前20个数,并按每行5个数输出。#includeint main()int f1=1,f2=1,a,f3;printf(%d %d ,f1,f2);for(a=3;a=20;a+)f3=f1+f2;printf(%d ,f3);if(a%5=0)printf(n);f1=f2;f2=f3;return 0;14. 求1+3!+5!+.+19!的和。#includeint main()double s,c=0;int a,b;for(a=1;a=19;a+=2)s=1;for(b=1;b=a;b+)s=s*b;c=c+s;printf(%lfn,c);return 0; 15. 有一分数序列,求其前30项的和。#includeint main()int i;double a=1,b=2,s=0,t;for(i=1;i=30;i+)s=s+a/b;t=b;b=a+b;a=t;printf(%lfn,s);return 0;16.编写一个程序,计算1+3+32+33310的值并输出。#include#includeint main()int a=0,i;for(i=0;i=10;i+)a=a+pow(3,i);printf(%dn,a);return 0;17.从键盘任意输入一个4位数x,编程计算x的每一位数字相加之和。例如,输入x为1234,则其千位为1、百位为2、十位为3、个位为4,然后计算1+2+3+4=10,输出10。(要求使用循环实现)#includeint main()int m,n,s=0;scanf(%d,&m);while(m!=0)n=m%10;m=m/10;s=s+n;printf(%dn,s);return 0;18. 输入一个八进制数,并将其转换为十进制。(要求使用循环实现)#include#includeint main()int a,b=0,m=0;scanf(%d,&a);while(a!=0)m=m+(a%10)*(int)pow(8,b);b+;a=a/10;printf(%dn,m);return 0;19. 输入两个正整数m和n,求其最大公约数和最小公倍数。#includeint main()int a,b,c,d,p;scanf(%d%d,&a,&b);if(ab)c=a;a=b;b=c;p=a*b;while(b!=0)d=a%b;a=b;b=d;printf(%d %dn,a,p/a);return 0;20.一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?#includeint main()int i;float h=50,a=100;for(i=2;i=10;i+)a=a+2*h;h=h/2;printf(%f %fn,a,h);return 0;21. 输出倒三角形式的9*9口诀表,要求用循环实现。9*1=9 9*2=18 9*3=27 9*4=36 9*9=818*1=8 8*2=16 8*3=24 8*4=32 8*8=61*1=1#includeint main()int a,b,s;for(a=9;a0;a-)for(b=1;b=a;b+)s=a*b;printf(%d*%d=%d ,a,b,s);printf(n);22. 输出菱形图案。(要求使用双循环实现,不能利用字符数组或简单的printf函数输出)#includeint main()int a,b,c;for(a=1;a=5;a+)for(b=1;b=5-a;b+)printf( );for(c=1;c=2*a-1;c+)printf(*);printf(n);for(a=1;a=4;a+)for(b=1;b=a;b+)printf( );for(c=1;c=9-2*a;c+)printf(*);printf(n);return 0;23. 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6的因子为1,2,3,而6=1+2+3,因此6是完数。编写程序找出500以内的所有完数,并按下面的格式输出其因子:6 its factors are 1,2,3#includeint main()int a,b,c;for(a=2;a500;a+)b=0;for(c=1;ca;c+)if(a%c)=0)b+=c;if(b=a)printf(%d,its factors are ,a);for(c=1;ca;c+)if(a%c=0)printf(%d ,c);printf(n);return 0;24.编程输出如下形式的九九乘法表1 2 3 4 5 6 7 8 9- - - - - - - - -12 43 6 98 16 24 32 40 48 56 64 9 18 27 36 45 54 63 72 81#includeint main()int a,b,s;for(a=1;a=9;a+)for(b=1;b=a;b+)s=a*b;printf(%d ,s);printf(n);25.一个偶数总能表示为两个素数之和。要求:输入一个偶数,将其表示成两个素数之和,直到输入的数为0。#includeint main()int i,j,n,k;printf(请输入一个偶数n);scanf(%d,&n);if(n!=0)for(i=2;i=n/2;i+)for(j=2;ji;j+)if(i%j=0)break;if(j=i)for(k=2;kn-i;k+)if(n-i)%k=0)break;if(k=(n-i)printf(%d %dn,i,k);return 0;26. 输入10个整型整数,用起泡法对这10个数排序,并该由小到大顺序在屏幕上输出。#includeint main()int a,b,c,s10;for(a=0;a10;a+)scanf(%d,&sa);printf(n);for(b=0;b9;b+)for(a=0;asa+1)c=sa;sa=sa+1;sa+1=c;for(a=0;a10;a+)printf(%d ,sa);printf(n);return 0;27. 输入10个整型整数,用选择法对这10个数排序,并该由大到小顺序在屏幕上输出。#includeint main()int a10,i,j,t,min;for(i=0;i10;i+)scanf(%d,&ai);for(i=0;i10;i+)min=i;for(j=i+1;jaj) min=j;t=ai;ai=amin;amin=t;for(i=0;i10;i+)printf(%d ,ai);printf(n);return 0;28. 将一个数组中的值按逆序重新存放。例如,原来顺序为8,6,5,4,1改后成为1,4,5,6,8。(同一数组中完成)#includeint main()int i;char a5;scanf(%s,a);for(i=4;i=0;i-)printf(%c,ai);printf(n);return 0;29. 给一个不多于6位的正整数,要求:求出它是几位数;分别输出每一位数字;按逆序输出各位数字,例如原数为158,应输出851。(利用数组知识)#include#includeint main()int m,i,j;char a50;scanf(%s,a);m=strlen(a);printf(%dn,m);for(i=0;i=0;j-)printf(%c,aj);printf(n);return 0;30. 用筛选法求100之内的素数。(利用数组知识)#include#includeint main()int a101,i,j,n;for(i=0;i100;i+)ai=i;a0=1;for(i=2;isqrt(100);i+)for(j=i+1;j=100;j+)if(ai!=0&aj!=0)if(aj%ai=0)aj=0;for(i=2,n=0;i100;i+)if(ai!=0)printf(%d ,ai);printf(n);return 0;31. 编程实现:输入任意一个不超过5位的十进制整数,取出该数中的所有奇数数字,按原来的顺序组成一个新的数。#include#includeint main()int i,b;char a10;gets(a);b=strlen(a);for(i=0;ib;i+)if(int)ai%2!=0)printf(%c,ai);puts();32. 有一个已升序排列的数组,要求输入一个数后,按原来排序的规律将它插入数组中。(在同一数组中实现)#includeint main()int i,j,s;char a10=1,2,4,9,32,41,64,88,91,98;scanf(%d,&s);for(i=0;iai)printf(%d ,ai);else break;printf(%d ,s);for(j=i;j+)printf(%d ,aj);if(aj=a9) break;printf(n);return 0;33. 将一个二维数组a的行和列的元素互换(即行列互换),存到另一个二维数组b中。#includeint main()int i,j,a23=1,2,3,4,5,6,b32;for(i=0;i2;i+)for(j=0;j3;j+)printf(%5d,aij);bji=aij;printf(n);for(i=0;i3;i+)for(j=0;j2;j+)printf(%5d,bij);printf(n);return 0;34. 在一个3*4的二维数组a中,要求编程求出其中值最大的那个元素的值,并输出其所在的行号和列号。 #includeint main()int i,j,a=0,b=0,s34=1,2,3,4,5,6,7,8,9,10,11,12,max;max=s00;for(i=0;i3;i+)for(j=0;jmax)max=sij;a=i;b=j;printf(%d %d %dn,max,a,j);return 0;35. 找出一个2维数组中的鞍点,即该位置上的元素在该行上最大、在该列上最小。#includeint main()int a34=1,13,9,10,3,2,7,6,4,11,8,15,i,j,max,k,b,c;for(i=0;i3;i+)max=ai0;for(j=0;j4;j+)if(maxaij)max=aij;b=j;c=1;for(k=0;k3;k+)if(akbmax)c=0;break;if(c=1)printf(鞍点为:%dn,aij-1);break;36. 输入一行字符,分别统计出其中的英文字符、数字和其他字符的个数。#includeint main()char d;int a=0,b=0,c=0;while(d=getchar()!=n)if(d=a&d=A&d=0&d=9)b+;else c+;printf(%d %d %dn,a,b,c);return 0;37 将输入的字符串逆序排列,如输入ABCD,输出DCBA。#include#includeint main()int b,i;char a100;gets(a);b=strlen(a);for(i=b-1;i=0;i-)printf(%c,ai);printf(n);return 0;38. 有3个字符串,要求找出其中最大者。#include#includeint main()int t;char a50,b50,c50,d50;gets(a);gets(b);gets(c);t=strcmp(a,b);if(t=1)strcpy(d,a);elsestrcpy(d,b);t=strcmp(d,c);if(t=1)printf(%sn,d);elseprintf(%sn,c);return 0;39. 输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。#includeint main()char a;int b=1;a=getchar();while(a=getchar()!=n)if(a= )b+;printf(%dn,b);return 0;40. 编一个程序,将两个字符串连接起来,不要用strcat函数。 #include#includeint main()char a100,b100;gets(a);gets(b);printf(%s%sn,a,b);return
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年新型工业厂房购置与租赁一体化合同
- 2025年高端自动化生产线设备采购合同续约及调整协议范本
- 2025年新型环保变压器移位施工专利授权及服务合同
- 2025年金融科技风控专家团队综合能力提升与培训服务合同
- 2025综合医疗耗材配送与专业售后技术服务协议
- 2025年跨地区劳务派遣合同主体变更及权益保障协议
- 2025年度生态农业园区绿色建筑桩基旋挖钻孔灌注桩施工合同
- 2025年航空航天动力装置供应及维护保障协议
- 钢结构工程安装合同协议书范本
- 历年考中医师试题及答案
- 辽宁2022年国家开发银行辽宁分行校园招聘考试参考题库含答案详解
- 办公家具供货安装及售后服务方案
- 积极心理学全套课件
- bc-6800产品中心医院
- GB/T 40565.2-2021液压传动连接快换接头第2部分:20 MPa~31.5 MPa平面型
- GB/T 11446.10-1997电子级水中细菌总数的滤膜培养测试方法
- 儿童生长发育监测课件
- 混凝土结构跳仓施工方案
- 页岩气开发地震监测技术要求DB50-T 1234-2022
- 实验室病原微生物危害 评估报告
- 科技项目申报专员系列培训(技术攻关项目)
评论
0/150
提交评论