C语言基本编程题_第1页
C语言基本编程题_第2页
C语言基本编程题_第3页
C语言基本编程题_第4页
C语言基本编程题_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、b b 复习题c程序设计编程题1. 输入 2 个整数,求两数的平方和并输出。#include void main() intt a ,b,s; printf(please input a,b:n); scanf(%d%d ”,&a,&b); s=a*a+b*b; printf(the result is %dn,s); 2. 输入一个圆半径(r ) ,当 r 0 时,计算并输出圆的面积和周长,否则,输出提示信息。#include #define pi 3.14 void main() float r ,s , l; printf(please input r:n); scanf

2、(%f”,&r); if (r=0) s=pi*r*r; l=2*i*r ; printf(the area is %fn,s); printf(the circumference is %fn,l); else printf(input error!n); 3、函数 y=f(x)可表示为: 2x+1 (x0) b b 编程实现输入一个x 值,输出y 值。#include void main() int x,y; scanf( “%d ”,&x);if(x0) y=2*x-1; else y=0; printf(“%d ”,y);4、编写一个程序, 从 4 个整数中找出最小的数

3、, 并显示此数。#include void main( ) int a,b,c,d,t; scanf (“%d,%d,%d,%d ”,&a,&b,&c,&d); if (ab) t=a; a=b; b=t; if (ac) t=a; a=c; c=t; if (ad) t=a; a=d; d=t; printf (“min = %d n”,a); 5有一函数当x0 时, y=3,当 x=0 时 y=5,编程,从键盘输入一个x 值,输出y 值。#include void main() int x,y; scanf(%d,&x); if (x0) y=1;

4、else if(x=0) y=5; else y=3; printf(x=%d,y=%dn,x,y); 6从键盘输入两个数,求出其最大值(要求使用函数完成求最大值,并在主函数中调用该函数)b b #include float max(float x,float y);void main() float a,b,m; scanf(%f,%f,&a,&b); m=max(a,b); printf(max is %fn,m); float max(float x,float y) float temp; if (xy) temp=x; x=y; y=temp; return(x);

5、7、从键盘输入你和你朋友的年龄,编成判断谁的年龄最大,并打印最大者的年龄。#include void main() int yourage, hisage; printf(please enter your age:); scanf(%d, &yourage); /*输入你的年龄yourage*/ printf(please enter your friends age:); scanf(%d, &hisage); /*输入你朋友的年龄hisage*/ if (yourage = hisage) printf(you are older! your age is = %dn,

6、yourage); if (hisage yourage) printf(your friend is older! hisage age is = %dn, hisage); 8、键盘输入2 个加数,再输入答案,如果正确,显示“right” ,否则显示“ error ”#include “stdio.h”void main( ) b b int a,b,c; printf(“please input a and bn”); scanf (%d,%d ”,&a,&b); printf(“please input the answer for a+bn”); scanf (%d

7、” ,&c); if (c=a+b) printf(“rightn”); else printf(“errorn”); 9. 编一程序每个月根据每个月上网时间计算上网费用,计算方法如下:小时小时小时元每小时元每小时元费用505010105.2330要求当输入每月上网小时数, 显示该月总的上网费用(6 分) #include void main() int hour; float fee; printf(“please input hour:n”); scanf(“%d ”,&hour); if(hour=10&hour=50) fee=3*hour; else fee=

8、hour*2.5; printf(“the total fee is %f” ,fee); 10. 神州行用户无月租费,话费每分钟0.6 元,全球通用户月租费50 元,话费每分钟 0. 4 元。输入一个月的通话时间,分别计算出两种方式的费用,判断哪一种合适。#include void main() float a,x,y; printf(“n 请输入您的话费:”); scanf(“%f, ”,&a); b b x= 0.6*a; y=50+0.4*a; printf (“神州行话费为n”,x);printf (“全球通话费为n”,y);if (x=y) printf(“建议使用全球通”

9、); else printf(“建议使用神州行); 11个人所得税计算,应纳税款的计算公式如下:收入税率收入 收入 1000 元的部分53000 元收入 2000 元的部分106000 元收入 3000 元的部分15收入 6000 元的部分20输入某人的收入,计算出应纳税额及实际得到的报酬。(7 分)(如需连续计算多个人的纳税情况,直到输入负数为止,程序应如何改进?试写出程序)#include “stdio.h”void main() int grade; float income,tax,money; printf(“please input your incomen”); scanf (“

10、%f”,&income); if (income0) printf(“the input is error”); else grade=(int)income/1000; switch(grade) case 0 : tax=0;break; case 1 : tax=(income-1000)*0.05;break; case 2 : tax=50+(income-2000)*0.1;break; b b case 3 : case 4 : case 5 : tax=150+(income-3000)*0.15;break; default: tax=600+(income-6000

11、)*0.2; money=income-tax; printf(“n tax=%f, money=%f”,tax, money); 12. 从键盘上输入一个百分制成绩score ,按下列原则输出其等级:score 90,等级为 a ;80score90 ,等级为b;70score80 ,等级为c ; 60score70 ,等级为d;score60 ,等级为e。 #include void main() int data; char grade; printf(please enter the score:); scanf(%d ”, &data); switch(data/10) ca

12、se 10: case 9 : grade=a; break; case 8: grade=b; break; case 7: grade=c; break; case 6: grade=d; break; default: grade= e; printf(the grade is %c”,grade); *13. 编程设计一个简单的计算器程序。从键盘输入2 个操作数, 1 个运算符,当运算符为加( +) 、减( - ) 、乘( * ) 、除( /)时,输出计算结果#include void main() int data1, data2; /*定义两个操作符*/ char op; /*定义

13、运算符 */ printf(please enter the expression:); scanf(%d%c%d, &data1, &op, &data2); /*输入运算表达式*/ b b switch(op) /*根据输入的运算符确定要执行的运算*/ case +: /*处理加法 */ printf(%d + %d = %d n, data1, data2, data1 + data2); break; case -: /*处理减法 */ printf(%d - %d = %d n, data1, data2, data1 - data2); break; cas

14、e *: /*处理乘法 */ printf(%d * %d = %d n, data1, data2, data1 * data2); break; case /: /*处理除法 */ if (0 = data2) /*为避免出现溢出错误,检验除数是否为0*/ printf(division by zero!n); else printf(%d / %d = %d n, data1, data2, data1 / data2); break; default: printf(unknown operator! n); 14. 从键盘输入 10个整数,统计其中正数、负数和零的个数,并在屏幕上输出

15、。#include void main( ) int a10, i,p=0,n=0,z=0; printf(“please input number”); for(i=0;i0) p+; else if (ai0) n+; else z+ printf(“正数: %5d, 负数: %5d,零:n”,p,n,z); 15、编程序实现求1-10 之间的所有数的乘积并输出。#include b b void main( ) int i;long sum=1; for(i=1; i=10; i=i+1) sum=sum*i; printf(“the sum of odd is :%l d”,sum);

16、 16. 从键盘上输入10 个数,求其平均值。 #include void main() int a10,i,s=0; float ave; for(i=0;i10;i+) scanf( “%d ”,&ai); for(i=0;i10;i+) sum+=ai; ave=(float)sum/10; printf(ave = %fn, ave); 17、编程序实现求1-1000 之间的所有奇数的和并输出。 #include void main( ) int i, sum=0; for(i=1; i1000; i=i+2) sum=sum+i; printf(“the sum of odd

17、 is :%d”,sum); 18. 有一个分数序列:2/1 ,3/2 ,5/3 ,8/5 ,13/8 ,21/13 ,编程求这个序列的前20 项之和。#include void main() int i,t,n=20; float a=2,b=1,s=0; for(i=1;i=n;i+) b b s=s+a/b; t=a; a=a+b; b=t; printf(sum=%6.2f,s); 19. 用数组实现以下功能:输入5 个学生成绩,而后求出这些成绩的平均值并显示出来。#include void main() int a5, s=0; int i; for(i=0;i5;i+) scanf

18、( “%d ” ,&ai); for(i=0;i5;i+) s=s+ai; printf(“result=%f”,s/5.0); 20、用循环的方法构造一个5 行 5 列的二维数组,使主对角线上的变量为1,其它为0,并将数组中所有项按行按列显示出来。#include void main() int a55,i,j, s=0; for(i=0;i5;i+) for(j=0;j5;j+) if(i=j) aij=1; else aij=0; for(i=0;i5;i+) for(j=0;j5;j+) printf(“%5d ” , aij); printf(“n ”); b b 21求一个

19、33 矩阵主对角线元素之和。从键盘输入矩阵元素的值并输出和的值. #include void main() int a33,sum=0; int i,j; printf(enter data:n); for(i=0;i3;i+) for(j=0;j3;j+) scanf(%d,&aij); for(i=0;i3;i+) sum=sum+aii; printf(sum=%d,sum); 22. 输入 n 的值, n 代表行数,输出如图所示的图形。 * * * * * * * * * * * * * * * * * * * * * (此图为 n6 时的输出结果) #include void

20、 main() int i , k , n; printf(enter number:n); scanf(%d,&n); for (i = 1; i = n; i+) /*控制行数 */ for (k = 1; k = i; k+) /*控制每行输出的* 号个数 */ printf(*); printf(n); /*输出一行后换行*/ 23、从键盘输入30 名学生的成绩数据,求其中的最高分、最低分和平均分。(提示:用数组存放成绩数据) #include #define m 30 void main ( ) b b float scorem, max , min, aver; int i

21、 ; printf(“please input score: n”); for(i=0; im ; i+) scanf(“ %f”, &scorei); max=score0; min=score0; aver=score0; for(i=1; im; i+) if (max scorei) min=scorei; aver+=scorei; printf(“max=%f, min=%f,aver=%f”, max, min, aver/m); 24. 从键盘输入某班学生某门课的成绩及其学号(班级人数最多40 人,具体人数由键盘输入),输出该班最高分和最低分及其学生学号;并输出该班该课

22、程的总分和平均分。请编写程序。#include #define arr_size 40 void main() float scorearr_size, maxscore,minscore,sum; int n, i; long maxnum, minnum,numarr_size; printf(please enter total number:); scanf(%d, &n); printf(please enter the number and score:n); for (i=0; in; i+) scanf(%ld%f, &numi, &scorei); m

23、axscore = score0;minscore= score0; maxnum = num0; minnum= num0; sum=score0; for (i=1; i maxscore) maxscore = scorei; maxnum = numi; else if (scorei minscore) minscore = scorei; minnum = numi; sum=sum+scorei; printf(maxscore = %.0f, maxnum = %ldn, maxscore, maxnum); printf(minscore = %.0f, minnum = %

24、ldn, minscore, minnum); printf(sum = %.1f, average = %.1fn, sum, sum/n); 25. 将一个有5 个元素的数组中的值( 整数 ) 按逆序重新存放。例 : 原来顺序为 :8 、6、5、4、1,要求改为1、4、5、6、8 #define n 5 #include void main() int an,i,temp; printf(“enter array a:n”); for(i=0;in;i+) scanf(“ %d ”,&ai); for(i=0;in;i+) temp=ai; ai=an-i-1; an-i-1=te

25、mp; printf(“n now, array a:n”); for(i=0;in;i+) printf(“%4d ” ,ai); printf(“n ”); b b 26. 从键盘上输入一个2*3 的矩阵,将其转秩后形成3*2 的矩阵输出。#include void main() int a23, b32,i,j; for(i=0;i2;i+) for(j=0;j3;j+) scanf(“%d ” ,&aij); for(i=0;i3;i+) for(j=0;j2;j+) bij=aji; for(i=0;i3;i+) for(j=0;j2;j+) printf(%5d,bij);

26、 printf(n” ); 29、从键盘输入10 名学生的成绩数据,按成绩从高到低的顺序排列并输出。(提示:用数组存放成绩数据)#include void main() int a10; int i,j,temp; printf(input score:n); for(i=0;i10;i+) scanf(%d,&ai); printf(n); for(i=1;i10;i+) for(j=0;j9;j+) if(ajaj+1) temp=aj; aj=aj+1; aj+1=temp; for(i=0;i10;i+) printf(%d,ai); 30. 定义一个 5 行 3 列的数组,从

27、键盘输入各数组元素的值,计算各数组元素之和。b b #include void main( ) int i, j ,a53; printf(“enter data:n”); for(i=0;i5;i+) for(j=0;j3;j+) scanf(“%d ”,&aij); for(i=0;i5;i+) for(j=0;j3;j+) sum=sum+aij; printf(“sum=%5dn ”,sum); 32、 从键盘上输入一个4*3 的整型数组, 找出数组中的最小值及其在数组中的下标。#include void main() int a43, i , j ,min,m,n; prin

28、tf(please enter data:); for (i=0; i4; i+) for (j=0; j3; j+) scanf(“%d ” ,& aij); min=a00; m=0; n=0; for (i=0; i4; i+) for (j=0; j3; j+) if (aijmin) min= aij; m=i; n=j; printf(the min is %dn, min); printf(posion is %d %d n, m,n); 33编程实现如下功能:从键盘输入一行字符,统计其中大写英文字符,小写英文字符和其他字符的个数。#include #include #d

29、efine arr_size 80 b b void main() char strarr_size; int len, i, letter = 0, digit = 0, space = 0, others = 0; printf(please input a string:); gets(str); len = strlen(str); for (i=0; i= a & stri = a & stri = 0 & stri = 9 ) digit +; /*统计数字字符*/ else others +; /*统计其它字符的个数*/ printf(english ch

30、aracter: %dn, letter); printf(digit character: %dn, digit); printf(other character: %dn, others); *36 、猜数游戏。系统随机产生一个整数,通过键盘输入数据猜数,猜对为止,并要求统计猜的次数。注: rand() 函数可以产生032767 间的正整数,程序中需包含stdlib.h。#include #include void main() int magic; int guess; int counter; magic = rand() % 100 + 1; counter = 0; do printf(

温馨提示

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

评论

0/150

提交评论