




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
思路岛教育网 整理提供4-5原题:打印出下题的结果main()?int a=5,b=7;?float x=67.8564,y=-789.124;?char c=A;?long n=1234567;?unsigned u=65535;?printf(%d%dn,a,b);?printf(%3d%3dn,a,b);?printf(%f,%fn,x,y);?printf(%-10f,%-10fn,x,y);?printf(%8.2f,%8.2f,%4f,%4f,%3f,%3fn,x,y,x,y,x,y);?printf(%e,%10.2en,x,y);?printf(%c,%d,%o,%xn,c,c,c,c);?printf(%ld,%lo,%xn,n,n,n);?printf(%u,%o,%x,%dn,u,u,u,u);?printf(%s,%5.3sn,COMPUTER,COMPUTER);结果:575 767.856400,-789.12402367.856400 ,-789.12402367.86, -789.12,67.856400,-789.124023,67.856400,-789.1240236.78564e+01, -7.9e+02A,65,101,411234567,4553207,d68765535,177777,ffff,-1COMPUTER, COM4-6原题:用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=A,c2=a。问在键盘上如何输入?main()int a,b;float x,y;char c1,c2;scanf(a=%d,_b=%d,&a,&b);scanf(_%f_%e,&x,7y);scanf(_%c_%c,&c1,&c2);答案:输入格式为:a=3,b=7 8.5 71.82 A a4-7原题:用下面的scanf函数输入数据使a=10,b=20,c1=A,c2=a,x=1.5,y=-3.75z=67.8,请问在键盘上如何输入数据?scanf(%5d%5d%c%c%f%f%*f,%f,&a,&b,&c1,&c2,&x,&y,&z); 答案:输入格式为:10 20Aa1.5 -3.78 0.0,67.8友情提示:10与20之间是3个空格,而那个0.0是随便一个浮点数即可。 4-8原题:设圆半径r=1.5,圆柱高h=3,求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积,用scanf输入数据,输出结果,输出时要求有文字说明,取小数点后2位数字,请编写程序。 答案:#define PI 3.1415926main()int h;float r;float cubage1,cubage2,per,area,facearea;clrscr();printf(please input the circles radiin);scanf(%f,&r);clrscr();printf(please input the cylinders heightn);scanf(%d,&h);per=2*PI*r;area=PI*r*r;facearea=4*PI*r*r;cubage1=4/3*PI*r*r*r;cubage2=area*h;clrscr();printf(nntThe circles perimeter is %.2fn,per);printf(tThe circles area is %.2fn,area);printf(tThe spheres facearea is %.2fn,facearea);printf(tThe spheres cubage is %.2fn,cubage1);printf(tThe cylinders cubage is %.2fn,cubage2);getch(); 4-9原题:输入一个华氏温度,要求输出摄氏温度。公式为 c=(F-32)*5/9. 答案:main()float temper;float c;clrscr();printf(Please input the temperature of Fahrenheitn);scanf(%f,&temper);c=(temper-32)*5/9;printf(The Celsius temperature is %.2f,c);getch(); 4-10原题:编程序,用getchar()函数读入两个字符给c1,c2,然后用putchar()函数和printf函数输出这两个字符。并思考以下问题:(1)变量c1,c2应为字符型或整型?抑或二者皆可?(2)要求输出c1,c2值的ASCII码,应如何处理?用putchar函数还是printf函数?(3)整型变量与字符变量是否在任何情况下都可以互相代替?如:char c1,c2;与 int c1,c2;是否可以无条件的等价?答案:main()char c1,c2;c1=getchar();c2=getchar();printf(n);putchar(c1);putchar(c2);printf(c1=%c,c2=%c,c1,c2);(1)都可;(2)用printf()函数;(3)不可以,必须是整形变量的值在256以内,否则则超过了ASCII的值。 5-4/*=programe description=*/*程序名称 : 5_4.c */*程序说明 : 有三个整数a,b,c,由键盘输入,输出其中最大得数:*/*writen by DongHongtao */*=*/main() int a,b,c,d;printf(please input 3 num, the format is 1 2 3n);scanf(%d%d%d,&a,&b,&c);d=max(a,max(b,c);printf(the max number is %dn ,d);getch();/*-*/*分函数,用来比较两个数的大小,并将较大数作为返回值 */*-*/int max(int x,int y) int z;z=(xy)?x:y;return(z);5-5/*=programe description=*/*程序名称 : 5_5.c */*程序说明 : 以下面的方程为基础,写一程序,输入X值输出Y值,方程如下:当 x1 时,y=x,当1=x=10时,y=3x-11 */*writen by DongHongtao */*=*/main() int x,y,a;clrscr();/*文本清屏*/printf(please input the value of x );/*输入X的值*/scanf(%d,&x);printf(the value of y is: );/*分条件打印出y值*/if(x=1&x10) y=2*x-1;printf(%d,y);else y=3*x-11;printf(%d,y);getch();/*按任一键结束,用于看结果*/ 5-6/*=programe description=*/*程序名称 : 5_6.c */*程序说明 : 给出一百分制成绩,要求输出成绩等级A,B,C,D,E,90分以上为A,8090分为B,7079分为C,6069分为D,60分以下为E */*writen by DongHongtao */*=*/main() int num ;clrscr();loop: printf(please input the score:n );scanf(%d,&num);if(num100) printf(the score is error,please input a number from 0-100n );goto loop;elseif(num=90)num=65;elseif(num=80)num=66;elseif(num=70)num=67;elseif(num=60)num=68;elsenum=69;printf(the level is :);switch(num) case 65: printf(%c,num);break;case 66: printf(%c,num);break;case 67: printf(%c,num);break;case 68: printf(%c,num);break;case 69: printf(%c,num);break;getch(); 5-7/*=programe description=*/*程序名称 : 5_7.c */*程序说明 : 给一个不多于5位的正整数,要求:(1)求出它是几位数,(2)分别打印出每一位数字(3)按顺序打印出各位数字,例如原数时321,应输出123 */*writen by DongHongtao */*=*/main() long num;int k;clrscr();loop: printf(please input a num form 0-99999:n);scanf(%ld,&num);if(num99999) clrscr();printf(the number is error );goto loop;/*利用GOTO语句来检查输入的数字是否位5位*/printf( the answer one is: the long of the number is: );if(num=10000) k=5;printf(%d,k);elseif(num=1000) k=4;printf(%d,k);elseif(num=100) k=3;printf(%d,k);elseif(num=10) k=2;printf(%d,k);else k=1;printf(%d,k);printf(n the answer two is :);switch(k) case 1: printf(%5ld,num);break;case 2: printf(%5ld %5ld,num/10,num%10);break;case 3: printf(%5ld %5ld %5ld,num/100,num%100/10,num%10);break;case 4: printf(%5ld %5ld %5ld %5ld,num/1000,num%1000/100,num%100/10,num%10);break;case 5: printf(%5ld %5ld %5ld %5ld %5ld,num/10000,num%10000/1000,num%1000/100,num%100/10,num%10);break;printf(nthe answer three is: );switch(k) case 1: printf(%ld,num);break;case 2: printf(%ld%ld,num%10,num/10);break;case 3: printf(%ld%ld%ld,num%10,num%100/10,num/100);break;case 4: printf(%ld%ld%ld%ld,num%10,num%100/10,num%1000/100,num/1000);break;case 5: printf(%ld%ld%ld%ld%ld,num%10,num%100/10,num%1000/100,num%10000/1000,num/10000);break;getch();5-8原题:企业发放的奖金根据利润提成。利润低于或等于10万的,奖金可提成10%;利润高于10万,低于20万的,低于10万的部分按10%提成,高于10万的提成7.5%;高于20万低于40万时,低于20万的按上述方法提成(下同)。高于20万的按5%提成。高于40万低于60万的,高于40万的部分按3%提成。高于60万低于100万的,高于60万的部分按1.5%提成,超过100万的部分按1%提成。要求从键盘输入当月利润I,求应发奖金数。答案:main()long i;int bonus,bonus1,bonus2,bonus4,bonus6,bonus10;printf(nnPlease input the bonus of this month:n);scanf(%ld,&i);clrscr();printf(nn This month bonus is );bonus1=100000*0.1;bonus2=bonus1+100000*0.075;bonus4=bonus2+200000*0.05;bonus6=bonus4+200000*0.03;bonus10=bonus6+400000*0.015;if(i=100000)bonus=bonus1;elseif(i=200000)bonus=bonus1+(i-100000)*0.075;elseif(i=400000)bonus=bonus2+(i-200000)*0.05;elseif(i=600000)bonus=bonus4+(i-400000)*0.03;elseif(iy)?y:x;return(z);/*-*/*分函数,作用是比较两个数的大小,并返回较大的值 */*-*/max(int x, int y) int z;z=(xy)?x:y;return(z);5-10/*=programe description=*/*程序名称 : 5_10.c */*程序说明 : 有4个圆塔,圆心分别为(2,2),(-2,2),(-2,-2),(2,-2),圆半径为1,这4个塔的高度为10m,塔外无建筑物,今输入任何一点的坐标,求该点的建筑高度,(塔外的高度为0) */*writen by DongHongtao */*=*/#include /*数学函数头文件,用来调用fabs()和sqrt()函数*/main() int h;float w,x,y,j,i,k;clrscr();printf(please input the zuobiao,for example:1,2n);scanf(%f,%f,&x,&y);if(x=3|x=3|yn,如果m能被n整除,那么n就为他们的最小公约数,如果不能整除,那么余数为c,然后令m=n,n=c,继续上面的步骤,直到m能被n整除为止,那时的n就为他们的最小公约数,而最小公倍数则为m和n的乘机在除以他们的最小公约数的值 */*=*/main() int m,n,c,h,mm,nn;clrscr();printf(please input two numbers:n );scanf(%d %d,&m,&n);mm=m;nn=n;if(mn);elseh=m;m=n;n=h;c=m%n;if(c=0)printf(the gong yue shu is %d:,n);elsewhile(c!=0) m=n;n=c;c=m%n;printf(the gong yue shu is %d:,n);printf(the gong bei shu is %d:,mm*nn/n);getch(); 6-2/*=programe description=*/*程序名称 : 6_2.c */*程序说明 : 输入一行字符,分别统计出其中英文字母,空格,数字和其它字符的个数*/*writen by DongHongtao */*=*/#include/*用来调用isalpha()和isdigit()函数*/#includemain() char a=a;int i,ch=0,num=0,space=0,other=0;clrscr();printf(please input a line string: n);for(i=0;a!=n;i+)a=getchar();if(a= )space+;elseif(isalpha(a)ch+;elseif(isdigit(a)num+;elseother+;printf(nthe char have %d,ch);printf(nthe number have %d,num);printf(nthe space have %d,space);printf(nthe other have %d,other-1); /* jian qu enter zhe ge zi fu */getch(); 6-3/*=programe description=*/*程序名称 : 6_3.c */*程序说明 : 求Sn=a+aa+aaa+aaa之值,n由键盘输入 */*writen by DongHongtao */*=*/#includemain() long int a=1,s=0,b=0;int n,j;clrscr();printf(please input a number:n);scanf(%d,&n);for(j=0;j=n-1;j+)b=b+a*pow10(j);s=s+b;printf(%8ld,s);getch();/*=programe description=*/*程序名称 : 6_4.c */*程序说明 : 求1!+2!+3!+.+20! */*writen by DongHongtao */*=*/*-*/*分函数,用来求一个数的阶乘 */*-*/double tt(int n) int j;double k=1;for(j=1;j=n;j+)k=k*j;return(k);main() double s=0.;int n=4,j;clrscr();for(j=1;j=n;j+) s=s+tt(j); printf(%.0f,s);getch(); /*=programe description=*/*程序名称 : 6_5.c */*程序说明 : 求(1+2+.+100)+(1*1+2*2+.+50*50)+(1/1+.+1/10 */*writen by DongHongtao */*=*/*-*/*以下三个分函数分贝用来秋三个加法 */*-*/int k(int w) int i=1,j,s=0;for(j=0;jw;j+)s=s+i+;return(s);long int k2(int x) int i=1,j,q;long s=0;for(j=0;jx;j+)q=i;s=s+q*q;i+;return(s);float k1(int i) float k=1,m,s=0;int j;for(j=0;ji;j+)m=1/k;s=s+m;k+;return(s);main() int n1=100,n2=50,n3=10;clrscr();printf(%dn,k(n1);printf(%ldn,k2(n2);printf(%.2f,k1(n3); /*=programe description=*/*程序名称 : 6_6.c */*程序说明 : 求出所有的水仙花数 */*writen by DongHongtao */*=*/*-*/*下面的分函数用来求一个数的立方 */*-*/int x3(int x) int i,s=1;for(i=0;i3;i+)s=s*x;return(s);/*-*/*主函数开始 */*-*/main() int i,g,s,b;clrscr();for(i=100;i1000;i+)b=i/100;s=i%100/10;g=i%10;if(x3(b)+x3(s)+x3(g)=i)printf(%8d,i); 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1、2、3,而6=1+2+3,因此6是“完数”。编程序找出1000以内的所有“完数”,并按下面格式输出其因子.解:方法一 #infine M 1000 main() int k1,k2,k3,k4,k5,k6,k7,k8,k9,k10; int i,a,n,s; for(a=2;a=m;a+) n=0; s=a; for(i=1;i1)printf(“%d,%d”,k1,k2);if(n2)printf(“,%d”,k3); if(n3)printf(“,%d”,k4);if(n4)printf(“,%d”,k5); if(n5)printf(“,%d”,k6);if(n6)printf(“,%d”,k7); if(n7)printf(“,%d”,k8);if(n8)printf(“,%d”,k9); if(n9)printf(“,%d”,k10);printf(“n”); 方法二: main() int m,s,i; for(m=2;m1000;m+) s=0; for(i=1;im;i+) if(m%I)=0) s=s+i; if(s=m) printf(“%d是一个“完数”,它的因子是”,m); for(i=1;im;i+) if(m%i=0) printf(“%d”,i); printf(“n”); 方法三: main() int k11; int i,a,n,s; for(a=2;a=1000;a+) n=0; s=a; for(i=1;ia;i+) if(a%i)=0)n+;s=s-i;kn=i; if(s=0) printf(“n%d是一个“完数”,它的因子是:”,a); for(i=1;in;i+) printf(“%d,”,ki); printf(“%dn,”,kn); /*=programe description=*/*程序名称 : 6_8.c */*程序说明 : 有一序数列:2/1,3/2,5/3求前20项的和 */*writen by DongHongtao */*=*/main()float k,m=0,i;clrscr();for(i=1;i=20;i+)k=(i+1)/i;m=m+k;printf(%.2f,m); 原题:一球从100M高度自由落下,每次落地后反跳回原高度的一半,再落下,求第十次落地时,共经过多少米?第十次反弹多高? 答案: #define N 10main()float s=100,n,num=1;int i,j;n=100;clrscr();for(j=0;j0) x1=(x2+1)*2; x2=x1; day-; printf(“total=%dn”,x1); 原题: 用牛顿迭代法求下面方程在1.5附近的根。2x3-4x2+3x-6=0答案:#includemain()float x,x0,f,f1; x=1.5;dox0=x;f=(2*x0-4)*x0+3)*x0-6;f1=(6*x0-8)*x0+3;x=x0-f/f1;while(fabs(x-x0)=le-5);printf(“The root of equation is %5.2fn”);原题: 用牛顿迭代法求下面方程在1.5附近的根。2x3-4x2+3x-6=0 答案:#includemain()float x,x0,f,f1; x=1.5;dox0=x;f=(2*x0-4)*x0+3)*x0-6;f1=(6*x0-8)*x0+3;x=x0-f/f1;while(fabs(x-x0)=le-5);printf(“The root of equation is %5.2fn”);原题: 用二分法求下面方程在(-10,10)之间的根。2x3-4x2+3x-6=0 答案:#includemain()float x0,x1,x2,fx0,fx1,fx2;doprintf(“Enter x1 & x2:”);scanf(“%f,%f”,&x1,&x2);fx1=x1*(2*x1-4)*x1+3)-6;fx2=x2*(2*x2-4)*x2+3)-6;while(fx1*fx20);dox0=(x1+x2)/2;fx0=x0*(2*x0-4)*x0+3)-6;if(fx0*fx1)=le-5);printf(“x=%6.2fn”,x0);原题:打印出以下图案。 * * * * * * * * * * * * *解:main()int i,j,k;for(i=0;i=3;i+)for(j=0;j=2-i;j+)printf( );for(k=0;k=2*i;k+)printf(*);printf(n);for(i=0;i=2;i+) for(j=0;j=i;j+)printf( );for(k=0;k=4-2*i;k+)printf(*);printf(n); 6-15 暂无原题: 用筛选法求100以内的素数 答案: #include#define N 101main()int i,j,num=0,aN;clrscr();printf(the numbers are:n);for(i=2;iN;i+)ai=i;for(i=0;iN;i+)for(j=0;j=sqrt(i);j+)if(ai!=0&aj!=0)if(ai%aj=0)ai=0;for(i=0;iN;i+)if(ai!=0)printf(%4d,ai);num+;if(num%5=0)printf(n); 原题: 用选择法对10个整数排序(从小到大)。解:main()int i,j,min,temp,a11;printf(“Enter data:”,n);for(i=1;i=10;i+) printf(“a%d=”,i);scanf(“%d”,&ai);printf(“n”);for(i=1;i=10;i+) printf(“%5d”,ai);printf(“n”);for(i=1;i=9;i+)min=i;for(j=i+1;jaj) min=j;temp=ai;ai=amin;amin=temp;printf(“n The sorted numbers:n”);for(i=1;i=10;i+)printf(“%5d”,ai);原题: 求一个33的整型矩阵对角线元素之和。 答案: main()int i,j,a33,s=0;printf(Please input 9 numbers to the array:n);for(i=0;i3;i+)for(j=0;j3;j+)scanf(%d,&aij);for(i=0,j=0;i3&j3;i+,j+)s=s+aij;printf(the numbers is %d ,s);getch(); 原题: 有一个已排好序的数组,今输入一个数,要求按排序的规律将它插入数组中。解:main()int a11=1,4,6,9,13,16,19,28,40,100;int temp1,temp2,number,end,i,j;printf(“array a:n”);for(i=0;iend)a10=numb
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水库灾害预防与响应方案
- 供水管网工程环境影响评估方案
- 光伏发电系统故障排查方案
- 输电线路项目进度管理方案
- 影视艺术特性75课件
- 水电消防知识培训总结课件
- 水电开槽基础知识培训课件
- 二零二五版电子车间租赁安全操作规程协议
- 二零二五年度买房子首付分期还款协议合同
- 二零二五年度锅炉安装与节能改造一体化服务合同范本
- 2023施工技术交底编制与管理标准培训
- 物业管理考核细则-
- GB/T 3683-2023橡胶软管及软管组合件油基或水基流体适用的钢丝编织增强液压型规范
- 义教课程标准(2022年版)解读·徐蓝
- GA/T 954-2011法庭科学工具痕迹中凹陷痕迹的检验规范
- DB1331T004-2022雄安新区数据安全建设导则
- 环水保工程监理细则
- DB11-T1834-2021 城市道路工程施工技术规程高清最新版
- 手工电弧焊焊接头基本形式与尺寸
- 开拓进取:零碳汽车的材料脱碳之路
- (完整版)自我护理能力量表ESCA
评论
0/150
提交评论