admin 管理员组文章数量: 887053
2024年1月4日发(作者:类似element的ui框架)
(word完整版)c语言程序设计编程题库
难度1循环结构
计算 s=1-2!+3!-4!+…-10!的值并输出。 -3301819
#include
void main()
{int n,t=1,f=-1;
int sum=0;
4
for(n=1;n<=10;n++)
{t=t*n;
f=-f;
sum=sum+t*f;
}
printf("%d",sum);
}
计算 s=1-1/3 + 1/5- 1/7+…1/101 的值并输出 0.790300
#include
void main()
{int n,f=-1;
float t,sum=0;
9
for(n=1;n<=51;n++)
{t=1.0/(2*n-1);
f=-f;
sum=sum+t*f;
}
printf("%f",sum);
}
编写程序求出 555555的约数中最大的三位数是多少。 要求必须使用 do-while语句实现。
#include
#define Y 555555
void main()
{int n=100;
10
int max=0;
Do
{ if(Y%n==0)
{max=n;n++;}while(n<999);
printf("%d",max);
}
输入一个正整数, 要求以相反的顺序输出该数。 例如输入12345, 输出位54321。注:1 不得使用数组;2 必须使用 while 语句实现。
#include
11
Void main()
{ int x;
Scanf(“%d”,&x) ;
While()
}
1 / 18
(word完整版)c语言程序设计编程题库
编写程序,求S=1/(1*2)+1/(2*3)+1/(3*4)+……前50项之和。要求必须使用for语句实现。 0.980393
#include
void main( )
{
int i;
110
float sum=0;
for(i=1;i<=50;i++)
}
编写程序,求S=1/(1+2)+1/(2+3)+1/(3+4)+……前50项之和。要求必须使用while 语句实现。
#include
void main( )
{
int i=1;
111
float sum=0;
while(i<=50)
{ sum=sum+1.0/(i+(i+1));
i++;}
printf("ns=%fn",sum);
} 1.947676
输入 10个整数,统计同时能被 3和 7 整除的个数,结果存放在变量 nCount中。将 nCoun 输出。要求必须使用
do-while 语句实现。
#include "stdio.h"
void main()
{
sum=sum+1.0/(i*(i+1));
printf("ns=%fn",sum);
int a[10] ;
do
int i=0 ,nCount=0;
{ scanf("%d",&a[i]);
179
i++;
}while(i<10);
i = 0 ;
do
{ if(a[i]%3 == 0 && a[i] % 7 == 0)
}
编写一个sum函数求和:输入一个正整数n,统计不大于n值的所有正偶数的和,在主函数中完成输入输出。要求用
do-while 语句实现。
#include "stdio.h"
181
void main()
{
int n,sum=0,i ;
printf("%d", nCount);
nCount++;i++;}while(i<10);
2 / 18
(word完整版)c语言程序设计编程题库
}
编程求1+(1+2)+…+(1+2+…+n),n的值由键盘输入。要求使用 for语句实现
#include
void main( )
{
int i,j=0,n;
int sum=0;
187
printf("请输入n的值:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{ j=j+i;
sum=sum+j;}
printf("ns=%dn",sum);
}
从键盘输入10个整数,统计其中正数、负数和零的个数,并在屏幕上输出。要求使用 while 语句。
#include"stdio.h"
void main()
{
int a[10],i,p=0,n=0,z=0;
printf("输入10个整数:");
i=0;
printf("请输入一个正整数:");
do
scanf("%d",&n) ;
i = 2;
{sum=sum+i;i+=2;}while(i printf("%dn",sum) ; while(i<10) 265 {scanf("%d",&a[i]); if(a[i]>0) } printf("正数:%d,负数:%d,零:%dn",p,n,z); } 函数 难度1 编写自定义函数 volume_cy,功能是求圆柱体的体积(v=3.14*r2*h),要求 圆柱体的高 h 和底半径 r 在主函数中输入,圆柱体的体积在主函数中做输出。h,r 均为 float型变量。 #include float volume_cy(float r,float h) 173 { return (3.14*r*r*h); } void main() else z++; p++; else if (a[i]<0) n++; i++; 3 / 18 (word完整版)c语言程序设计编程题库 {float r,h,v; printf("请输入圆柱体的半径和高度"); scanf("%f %f",&r,&h); v=volume_cy(r,h); printf("n圆柱体的体积为%fn",v); } 编写自定义函数 volume_c,功能是求正方体的体积(要求:正方体的的边长 a 在主函数中做输入,在主函数中调用函数 volume_c,在主函数中输出正方体体积,a 为int 型变量) 。 #include float volume_c(int a) { return (a*a*a); } 176 void main() {int a; float v; printf("请输入正方形的边长:"); scanf("%d",&a); v=volume_c(a); printf("n正方形的的体积为%fn",v); } 编写函数max, 功能是找出两个数的较大值。 在主函数中输入两个整数num1,num2,调用函数 max,在主函数中输出 num1 和 num2 较大值。 #include void main() {int max(int x, int y); int num1,num2,max1; printf("请输入两个数:n"); scanf("%d%d",&num1,&num2); 178 max1=max(num1,num2); printf("max=%dn",max1); } int max(int x,int y) {int m; m=x>y?x:y; return m; } 定义函数 areaT,功能是求圆锥体积。在主函数中输入半径 r和高 h,调用函数 areaT 求体积,并在主函数中输出圆锥的体积。其中变量 r,h 均为 double 型数据。 (公式v=h*3.14*r2/3) #include float areaT(double r,double h) 182 { } void main() return 3.14*r*r*h/3.0; 4 / 18 (word完整版)c语言程序设计编程题库 {float r,h,v; printf("请输入圆锥体的半径和高度"); scanf("%f %f",&r,&h); v=areaT(r,h); printf("n圆锥体的体积为%fn",v); } 定义函数 Fra,功能是求华氏温度,要求在主函数中输入摄氏温度 c,调用函数 Fra,在主函数中输出华氏温度 f。要求变量 c,f均为 float型数据(公式 f=5/9*c+32) #include float Fra(float c) { return 5.0/9*c+32.0; } 183 void main() {float f,c; printf("请输入摄氏温度:"); scanf("%f",&c); f=Fra(c); printf("n对应的华氏温度为%fn",f); } 定义函数 areaT,功能是求梯形面积。要求在主函数中输入上底(用变量 a存储)、下底(用变量 b 存储)、和高(用变量 h 存储),在主函数中调用函数 areaT,输出梯形面积(用变量 s 存储)的值。其中,变量 a,b,h,s 数据类型均为 double。公式:s=(a+b)*h/2 #include double areaT(double a,double b,double h) { 184 } void main() {double a,b,h,s; printf("请输入梯形的上底、下底和高度"); scanf("%f %f %f",&a,&b,&h); s=areaT(a,b,h); printf("n梯形的面积为%fn",s); } )编写自定义函数 min,函数功能是找出两个数的较小值。在主函数中输入 两个数,分别保存在变量 a 和变量b,并且在主函数中调用函数 min,输出 a 和b 的较小值。 #include void main () { int min(int x, int y); 194 int a,b,min1; printf("请输入两个数:n"); scanf("%d%d",&a,&b); min1=min(a,b); printf("min=%dn",min1); return (a+b)*h/2; 5 / 18 (word完整版)c语言程序设计编程题库 } int min(int x,int y) { int m; m=x return m; } 编写一个函数fun,函数的功能是:判断一个整数是否既是5又是7的整倍数。若是,输出yes,否则输出no。在主函数中输入任意一个正整数,调用fun函数,输出该数对应的结果。 #include void main() {void fun(int); int a; scanf("%d",&a); 对应的结果 197 fun(a) ; 35 } Yes void fun(int x) 49 { if(x%5==0&&x%7==0) printf("yesn"); No else printf("non"); return ; } 编写一个函数div,定义该函数的返回值类型为int,功能是判断一个整数n是否能同时被5 和7 整除,如果能,那么函数返回值为1;如果不能,那么函数返回值为0。在main 函数中完成数据输入,函数调用和数据输出。 #include void main() {int div(int); int a,y; scanf("%d",&a); y=div(a) ; 242 printf("y=%d",y); } int div(int x) { int y; if(x%5==0&&x%7==0) y=1; else y=0; return(y) ; } )编写函数sign,功能是计算下列分段函数sign(x)的值。在主函数中输入一个数,保存在变量x 中,调用函数sign,在主函数中输出结果。要求x 为double 型变量。sign(x)={1 x>0 0 x=0 317 7#include double sign(double x) { -1 x<0 } 6 / 18 (word完整版)c语言程序设计编程题库 } void main() { double x,b; } scanf("%f",&x); b=sign(x); printf("%le",b); double b; if(x==0) else b=1; return b; b=0; b=-1; else if(x<0) 逻辑运算和判断选取控制 编程判断输入的正整数是否既是5又是7的整倍数。若是,输出yes,否则输出no。 #include void main() { 6 } 编写一程序,对于给定的一个百分制成绩,输出相应的五分制成绩。设:90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。要求必须使用switch-case 结构实现。 int n; scanf("%d",&n); if(n%5==0&&n%7==0) printf("yesa"); else printf("noa"); #include "stdio.h" int main() {int score,g; printf("请输入百分制成绩:"); scanf("%d",&score); 8 g=score/10; switch(g) {case 1: case 2: case 3: case 4: case 5:printf("En");break; case 6:printf("Dn");break; case 7:printf("Cn");break; 7 / 18 (word完整版)c语言程序设计编程题库 case 8:printf("Bn");break; case9: printf("An");break; default: printf("Input Error!"); } } 编写一个简单计算器程序,输入格式为:data1 op data2。其中data1和data2是参加运算的两个数,op为运算符,它的取值只能是+、-、*、/。。要求必须使用switch-case语句实现。 #include void main ( ) { float data1, data2; char op; printf("Enter your expression:"); scanf("%f%c%f", &data1,&op,&data2); switch(op) { case '+': printf("%.2f+%.2f=%.2fn", data1, data2, data1+data2); break; 93 case '-' : printf("%.2f-%.2f=%.2fn", data1, data2, data1-data2); break; case '*' : printf("%.2f*%.2f=%.2fn", data1, data2, data1*data2); break; case '/' : if( data2==0 ) printf("Division by zero.n"); else printf("%.2f/%.2f=%.2fn", data1, data2, data1/data2); break; default: printf("Unknown operater.n"); } } 已知银行整存整取存款不同期限的月息利率分别为: 0.315% 期限一年 0.330% 期限二年 月息利率 = 0.345% 期限三年 0.375% 期限五年 0.420% 期限八年 要求输入存钱的本金和期限,求到期时能从银行得到的利息与本金的合计。 94 #include "stdio.h" int main() {float money,y; printf("请输入存钱的本金和期限:"); scanf("%f%f",&money,&y); if (y==1) {money=money+0.00315*12*y; printf("到期时利息和本金合计为%f元。n",money);} 8 / 18 (word完整版)c语言程序设计编程题库 else if (y==2) {money=money+0.00330*12*y; printf("到期时利息和本金合计为%f元。n",money);} else if (y==3) {money=money+0.00345*12*y; printf("到期时利息和本金合计为%f元。n",money);} else if (y==5) {money=money+0.00375*12*y; printf("到期时利息和本金合计为%f元。n",money);} else if (y==8) {money=money+0.00420*12*y; printf("到期时利息和本金合计为%f元。n",money);} else printf("没有这种存款方式!"); return 0; } 从键盘输入一个学生的分数, 要求实现这样的判断功能: 如果分数大于100,输出”Input error!” 如果分数介于100到90之间, 输出”Very Good!” 如果分数介于80到90只,输出”Good!” 如果分数介于70到80之间,输出”Middle” 如果分数介于60到70之间, 输出”Pass” 如果分数小于60,输出”No Pass!” 。要求必须使用if-elseif 结构实现。 #include void main() { 199 int score; printf("your score:"); scanf("%d",&score); if(score<0||score>100) printf("Input error!n"); else if (score>90) printf("Very Good!n"); else if (score>80) printf("Good!n"); else if (score>70) printf("Middlen"); else if(score>60) printf("Passn"); else printf("No Pass!n"); } 判断一个学生成绩的“优、良、中、差”: 假如从键盘输入的字母是‘A’,输出评语“You are Excellent!”; 如果输入‘B’,输出评语“You are well!”; 如果输入‘C’,输出评语“You are passing!”; 如果输入‘D’,输出评语“You are not passing!”。 如果输入的不是这四个字母,则出现提示“Input error!” 请编写一个程序,实现该判断功能。要求必须使用switch-case 结构实现。 200 #include void main() { char grade; printf("Please input a grade:"); scanf("%c",&grade); 9 / 18 (word完整版)c语言程序设计编程题库 } 输入一个整数,判断该数是奇数还是偶数。要求必须使用if-else 结构实现。 switch(grade) { case 'A':printf("You are Excellent!n");break; case 'B':printf("You are well!n");break; case 'C':printf("You are passing!n");break; case 'D':printf("You are not passing!n");break; default:printf("Input error!n"); } #include void main() { 211 } 从键盘接收三个整数,分别存放在变量a,b,c 中,编程求出最小数。XXXXXX #include void main() { 247 } 从键盘接收三个整数,分别存在变量x,y,z 中。编程输出最大数。 #include void main() int a,b,c,min; printf("Please input 3 numbers:"); scanf("%d,%d,%d",&a,&b,&c); if(a min=a; else min=b; if(min printf("min=%dn",min); else printf("min=%dn",c); int x; printf("Please input a number:"); scanf("%d",&x); if(x%2==0) printf("ou shun"); else printf("ji shun"); { 249 int x,y,z,max; printf("Please input 3 numbers:"); scanf("%d,%d,%d",&x,&y,&z); if(x>y) max=x; else max=y; 10 / 18 (word完整版)c语言程序设计编程题库 } 从键盘接收一个字符,如果是字母,输出其对应的ASCII码,如果是数字,按原样输入,否则给出提示信息“输入错误!”。 #include void main() { 253 } 个人所得税计算,应纳税款的计算公式如下: 收入 收入<=1000元部分 税率 0% char c; printf("Please input a char:"); c=getchar(); if(c>='a'&&c<='z') printf("%dn",c); printf("%dn",c); printf("%cn",c); else if(c>='A'&&c<='Z') else if(c>='0'&&c<='9') else printf("输入错误!n"); if(max>z) printf("max=%dn",max); else printf("max=%dn",z); 2000元>=收入>1000元的部分 5% 3000元>=收入>2000元的部分 10% 6000元>=收入>3000元的部分 15% 收入>6000元的部分 20% 输入某人的收入,计算出应纳税额及实际得到的报酬。,要求必须使用if-else 结构完成。 #include void main() 279 { float i,n,tax; /*定义收入,实际收入,个人所得税*/ printf("Please input your income:"); scanf("%f",&i); if(i<=1000) { } else if(i>1000&&i<=2000) { tax=i*0.05; n=i-tax; tax=i*0; n=i-tax; printf("个人所得税=%.1f 实际报酬=%.2fn",tax,n); 11 / 18 (word完整版)c语言程序设计编程题库 } 输入一个字符,判断它是否是小写字母,是小写字母,则将它转换成大写字母,如果不是,则不转换,然后输出所得到的字符。 #include”stdio.h” Void main() { Char c; 320 Printf(“输入一个字符:”); Scanf(“%c”,&c); If (c>=’a’&&c<=’z’) Printf(“%cn”,c-32); Else printf(“%cn”,c); } } else if(i>2000&&i<=3000) { } else if(i>3000&&i<=6000) { } else if(i>6000) { } else printf("error!n"); tax=i*0.2; n=i-tax; printf("个人所得税=%.1f 实际报酬=%.2fn",tax,n); tax=i*0.15; n=i-tax; printf("个人所得税=%.1f 实际报酬=%.2fn",tax,n); tax=i*0.1; n=i-tax; printf("个人所得税=%.1f 实际报酬=%.2fn",tax,n); printf("个人所得税=%.1f 实际报酬=%.2fn",tax,n); 难度2 编一通用函数avernum,计算含有n个数据的一维数组的平均值,并统计此数组中大于平均值的数据的个数; 主函数中定义含有100个元素的数组x,x[I]=200*cos(I*0.875)(I=0,1,2……99),调用上述函数,输出此数组的平均值及大于平均值的数据的个数。 -0.851949 49 (注:此程序不允许使用全局变量,不允许在avernum函数中输出) 154 #include "stdio.h" #include "math.h" #define N 100 double avernum(double *x, double n, double ave) { double aver=0.000000, a=0; 12 / 18 (word完整版)c语言程序设计编程题库 int i; if(ave==0) { for(i=0; i aver=aver+*(x+i); aver=aver/n; return aver; } else { for(i=0; i } } void main() { double x[N], m, aver; int i; for(i=0; i x[i]=200*cos(i*0.875); aver=avernum(x, N, 0); m=avernum(x, N, aver); printf("aver=%fnm=%fn",aver, m); } 编一通用函数avermax,计算含有n个数据的一维数组的平均值,并求出此数组中大于平均值的数据之和;主函数中定义含有300个元素的数组x,x[I]=10* cos ((3.0+I*I) / 5) (I=0,1,2……299),调用上述函数,输出此数组的平均值及大于平均值的数据之和。 -0.220814 912.784553(注:此程序必须使用while 语句,不允许使用全局变量,不允许在avermax 函数中输出) ) #include "stdio.h" #include "math.h" #define N 300 double avernum(double *x, double n, double ave) { double aver=0.000000, a=0; int i; if(ave==0) 155 { i=0; while(i {aver=aver+*(x+i); i++;} aver=aver/n; return aver; } else { i=0; while(i } { if(ave<*(x+i))a+=*(x+i); i++;} return a; if(ave<*(x+i))a++; return a; 13 / 18 (word完整版)c语言程序设计编程题库 } void main() { double x[N], m, aver; int i=0; while(i {x[i]=10* cos((3.0+i*i)/5); i++;} aver=avernum(x, N, 0); m=avernum(x, N, aver); printf("aver=%fnm=%fn",aver, m); } 编一通用函数maxsub,求出含有n 个数据的一维数组的最大值及其所在位置(即下标);主函数中定义含有300 个元素的数组y,y[I]=10* cos ((3.0+I*I) / 5)(I=0,1,2R-R-299),调用上述函数,输出此数组的最大值及其所在位置。(注:此程序必须使用for 语句,不允许使用全局变量,不允许在maxsub 函数中输出)9.99927,0.00000 #include "stdio.h" #include "math.h" #define N 300 double maxsub(double *x, double n, double ave) { double max; int i,j=0; if(ave==0) { max=*x; for(i=1; i if(max<*(x+i)) {max=*(x+i); j++;} 156 return max; } else } void main() { double y[N], m, aver; int i; for(i=0; i y[i]=10*cos((3.0+i*i)/5); aver=maxsub(y, N, 0); m=maxsub(y, N, aver); printf("aver=%fnm=%fn",aver, m); } return j; 编一函数,统计一维整数组小于数组元素平均值的元素的个数;主函数定义x[50],x[i]=600*cos(i*0.35), 调用函数,158 输出小于数组元素平均值的元素的个数。。必须使用while 语句。 27.000000 #include "stdio.h" 14 / 18 (word完整版)c语言程序设计编程题库 #include "math.h" #define N 50 float avernum(float y[],int n) {float v,s=0; int count=0,i=0; while(i {s+=y[i];i++;} v=s/n; i=0; while(i {if(y[i] count++; i++; } return(count); } void main() {float x[N]; int i=0; while(i { x[i]=600*cos(i*0.35);i++;} printf("%fn",avernum(x,50)); } 编一函数,求有50个元素的一维整数组中最大值的位置;主函数中定义y[50],y[j]=600*sin(j*0.16),调用函数,输出最大值及其位置。要求必须使用for 语句。 599.941355 0.000000 #include "stdio.h" #include "math.h" double maxsub(double x[],int num,double max) { int i,j; double m=0.00000; m=x[0]; j=0; if(max==0) 159 {for(i=1;i if(x[i]>m) { m=x[i];j=i; } return (m); } else return(j); } void main() { double a[50],max,m; 15 / 18 (word完整版)c语言程序设计编程题库 int i; for(i=0;i<50;i++) a[i]=600*sin(i*0.16); max=maxsub(a,50,0); m=maxsub(a,50,max); printf("m=%f,J=%fn",max,m); } 求一维实型数组中最大元素。要求:主函数中定义含有300个元素的数组x, x[i]=10* cos ((3.0+i*i ) /5) (i=0,1,2……299),调用自定义函数qmax求出最大元素,然后在主函数中输出结果。要求必须使用 while 语句实现。 #include"math.h" #include"stdio.h" #define N 300 float qmax(float a[],int n) { Int i =1; float max=a[0];
版权声明:本文标题:(word完整版)c语言程序设计编程题库 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1704334592h455247.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论