《c语言基本编程题.pdf》由会员分享,可在线阅读,更多相关《c语言基本编程题.pdf(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第 1 页 共 17 页 复习题 C 程序设计编程题 1。输入 2 个整数,求两数的平方和并输出。#include 0 时,计算并输出圆的面积和周长,否则,输出提示信息。include stdio.h define PI 3。14 void main()float r,s,l;printf(”please input r:n”);scanf(f,&r);if(r=0)s=pi*r*r;l=2*ir;printf(”the area is fn”,s);printf(”the circumference is fn”,l);else printf(input error!n”);3、函数 y=f
2、(x)可表示为:2x+1 (x0)第 2 页 共 17 页 编程实现输入一个 x 值,输出 y 值。#include stdio。h void main()int x,y;scanf(“d,&x);if(x0)y=2*x+1;else if(x0)y=2*x1;else y=0;printf(“d”,y);4、编写一个程序,从 4 个整数中找出最小的数,并显示此数.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;p
3、rintf(“min=%d n”,a);5有一函数当 x0 时 y=1,当 x0 时,y=3,当 x=0 时 y=5,编程,从键盘输入一个 x值,输出 y 值。include stdio。h void main()int x,y;scanf(%d,&x);if(x0)y=1;else if(x=0)y=5;else y=3;printf(x=d,y=dn”,x,y);6从键盘输入两个数,求出其最大值(要求使用函数完成求最大值,并在主函数中调用该函数)第 3 页 共 17 页 include void main()int yourAge,hisAge;printf(”Please enter y
4、our 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”,yourAge);if(hisAge yourAge)printf(”Your friend is older!HisAge age is=%dn,hisAge);8、键盘输入 2 个加数,再输入答案,如果正确,显示“right”,否则显示“err
5、or”#include“stdio.h void main()第 4 页 共 17 页 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,&c);if(c=a+b)printf(“rightn”);else printf(“errorn);9。编一程序每个月根据每个月上网时间计算上网费用,计算方法如下:小时小时小时元每小时元每小时元费用505010105.2330 要求当输入每月上网小时数,显示该月总的上网费用(6 分)incl
6、ude stdio。h void main()int hour;float fee;printf(“please input hour:n”);scanf(“d”,&hour);if(hour=10)fee=30;else if(hour=10&hour=50)fee=3*hour;else fee=hour*2。5;printf(“The total fee is%f”,fee);10。神州行用户无月租费,话费每分钟 0。6 元,全球通用户月租费 50 元,话费每分钟 0。4 元。输入一个月的通话时间,分别计算出两种方式的费用,判断哪一种合适。#include void main()floa
7、t a,x,y;printf(“n 请输入您的话费:”);scanf(“f,”,a);第 5 页 共 17 页 x=0。6*a;y=50+0。4*a;printf(“神州行话费为:%fn,x);printf(“全球通话费为:%fn”,y);if(x=y)printf(“建议使用全球通”);else printf(“建议使用神州行);11个人所得税计算,应纳税款的计算公式如下:收入 税率 收入2000 元的部分 10 6000 元收入3000 元的部分 15 收入6000 元的部分 20 输入某人的收入,计算出应纳税额及实际得到的报酬。(7 分)(如需连续计算多个人的纳税情况,直到输入负数为止,
8、程序应如何改进?试写出程序)include“stdio。h”void main()int grade;float income,tax,money;printf(“please input your incomen”);scanf(“%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+(income2000)0。1;break;
9、第 6 页 共 17 页 case 3:case 4:case 5:tax=150+(income3000)0。15;break;default:tax=600+(income-6000)*0.2;money=incometax;printf(“n tax=f,money=%f,tax,money);12。从键盘上输入一个百分制成绩 score,按下列原则输出其等级:score90,等级为 A;80score90,等级为 B;70score80,等级为 C;60score70,等级为D;score60,等级为 E。include void main()int data;char grade;p
10、rintf(”Please enter the score:);scanf(d”,&data);switch(data/10)case 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,d
11、ata2;/*定义两个操作符*/char op;/*定义运算符*/printf(”Please enter the expression:);scanf(%dcd,&data1,op,data2);/输入运算表达式/第 7 页 共 17 页 switch(op)/根据输入的运算符确定要执行的运算/case+:/*处理加法/printf(d+d=%d n”,data1,data2,data1+data2);break;case :/处理减法*/printf(”%d%d=%d n”,data1,data2,data1-data2);break;case:/处理乘法/printf(”d*%d=d n
12、,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个整数,统计其中正数、负数和零的个数,并在屏幕上输出。#include 0)p+;else if(ai 0)n+;else z+printf(“正数:5d,负数:%5d,零:%5dn”,p
13、,n,z);15、编程序实现求 1-10 之间的所有数的乘积并输出.include stdio。h 第 8 页 共 17 页 void main()int i;long sum=1;for(i=1;i=10;i=i+1)sum=sum*i;printf(“the sum of odd is:%ld”,sum);16.从键盘上输入 10 个数,求其平均值。#include stdio.h void main()int a10,i,s=0;float ave;for(i=0;i void main()int i,sum=0;for(i=1;i1000;i=i+2)sum=sum+i;printf(
14、“the sum of odd is:d,sum);18.有一个分数序列:2/1,3/2,5/3,8/5,13/8,21/13 编程求这个序列的前 20 项之和.include stdio.h void main()int i,t,n=20;float a=2,b=1,s=0;for(i=1;i=n;i+)第 9 页 共 17 页 s=s+a/b;t=a;a=a+b;b=t;printf(”sum=%6。2f,s);19.用数组实现以下功能:输入 5 个学生成绩,而后求出这些成绩的平均值并显示出来。include stdio.h void main()int a5,s=0;int i;for(
15、i=0;i void main()int a55,i,j,s=0;for(i=0;i5;i+)for(j=0;j5;j+)if(i=j)ai j=1;else aij=0;for(i=0;i5;i+)for(j=0;j5;j+)printf(“5d”,aij);printf(“n”);第 10 页 共 17 页 21求一个 33 矩阵主对角线元素之和。从键盘输入矩阵元素的值并输出和的值.include stdio。h void main()int a33,sum=0;int i,j;printf(Enter data:n”);for(i=0;i3;i+)for(j=0;j3;j+)scanf(
16、”%d,ai j);for(i=0;i3;i+)sum=sum+ai i;printf(sum=d,sum);22。输入 n 的值,n 代表行数,输出如图所示的图形。*(此图为 n6 时的输出结果)#include void 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 名学生的成绩数据,求其中的最高分、最低分和平均分.(提示:用数组存放成绩数据)#
17、include#define M 30 void main()第 11 页 共 17 页 float scoreM,max,min,aver;int i;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#define ARR_SIZE 40 void main()float scoreARR_SIZE,maxScore,minScore,sum;int n,i;long maxNum,minNum,numARR
18、_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);maxScore=score0;minScore=score0;maxNum=num0;minNum=num0;sum=score0;for(i=1;in;i+)第 12 页 共 17 页 if(scorei maxScore)maxScore=scorei;maxNum=numi;else if(scorei minSc
19、ore)minScore=scorei;minNum=numi;sum=sum+scorei;printf(”maxScore=。0f,maxNum=%ldn,maxScore,maxNum);printf(”minScore=%.0f,minNum=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;pri
20、ntf(“enter array a:n”);for(i=0;iN;i+)scanf(“%d,ai);for(i=0;iN;i+)temp=ai;ai=aNi1;aN-i-1=temp;printf(“n Now,array a:n”);for(i=0;iN;i+)printf(“%4d”,ai);printf(“n”);第 13 页 共 17 页 26.从键盘上输入一个 23 的矩阵,将其转秩后形成 3*2 的矩阵输出.include stdio.h void main()int a23,b32,i,j;for(i=0;i2;i+)for(j=0;j3;j+)scanf(“%d,&aij);
21、for(i=0;i3;i+)for(j=0;j2;j+)bij=aj i;for(i=0;i3;i+)for(j=0;j2;j+)printf(5d,bi j);printf(”n”);29、从键盘输入 10 名学生的成绩数据,按成绩从高到低的顺序排列并输出。(提示:用数组存放成绩数据)include stdio.h 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;
22、aj=aj+1;aj+1=temp;for(i=0;i10;i+)printf(”d,”,ai);30.定义一个 5 行 3 列的数组,从键盘输入各数组元素的值,计算各数组元素之和。第 14 页 共 17 页 include stdio.h void main()int i,j,a53;printf(“Enter data:n”);for(i=0;i5;i+)for(j=0;j3;j+)scanf(“%d”,ai j);for(i=0;i5;i+)for(j=0;j3;j+)sum=sum+aij;printf(“sum=5dn”,sum);32、从键盘上输入一个 4*3 的整型数组,找出数组
23、中的最小值及其在数组中的下标。include stdio。h void main()int a4 3,i,j,min,m,n;printf(”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(ai j min)min=aij;m=i;n=j;printf(”the min is dn,min);printf(”posion is%d d n,m,n);33编程实现如下功能:从键盘输入一行字符,统计其中大写英文字符,小写英文
24、字符和其他字符的个数。include stdio。h include=a&stri=z stri =A&stri=0&stri=9)digit+;/*统计数字字符/else others+;/*统计其它字符的个数/printf(”English character:%dn,letter);printf(”digit character:dn”,digit);printf(other character:dn”,others);*36、猜数游戏。系统随机产生一个整数,通过键盘输入数据猜数,猜对为止,并要求统计猜的次数。注:rand()函数可以产生 032767 间的正整数,程序中需包含 stdl
25、ib。h。include stdio。h include void main()int magic;int guess;int counter;magic=rand()%100+1;counter=0;do printf(”Please guess a magic number:”);第 16 页 共 17 页 scanf(d,&guess);counter+;if(guess magic)printf(”Wrong!Too high!n”);else if(guess magic)printf(”Wrong!Too low!n);while(guess!=magic);printf(”Rig
26、ht!n”);printf(”counter=dn”,counter);38。随机输入若干个学生的体重,以输入负数或零结束,分别求最重和最轻的体重,并计算平均体重。#include stdio.h void main()int n=0;float weight,max=0,min=10,sum=0,ave;printf(“please input the weight:);scanf(“f”,weight);while(weight0)sum=weight+sum;n+;if(weightmax)max=weight;scanf(“%f”,weight);if(n0)ave=sum/n;pri
27、ntf(”maxweight=fn ,max);printf(minweight=%fn,min);printf(”ave=%fn,ave);else printf(”NO VALID DATA”);40.编写程序,其中自定义一函数,用来判断一个整数是否为素数,主函数输入一个数,输出是否为素数.第 17 页 共 17 页#include include stdio。h int IsPrimeNumber(int number)int i;if(number=1)return 0;for(i=2;isqrt(number);i+)if(number%i)=0)return 0;return 1;void main()int n;printf(“Please input n:”);scanf(“%d”,n);if(IsPrimeNumber(n)printf(“n%d is a Prime Number”,n);else printf(“n%d is not a Prime Number”,n);