2023年计算机二级C语言考试编程题题库_第1页
2023年计算机二级C语言考试编程题题库_第2页
2023年计算机二级C语言考试编程题题库_第3页
2023年计算机二级C语言考试编程题题库_第4页
2023年计算机二级C语言考试编程题题库_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

计算机c语言编程题库1、求100之内自然数中最大的能被17整除的数。#include<stdio.h>voidmain(){inti; for(i=100;i>0;i--) if(i%17==0)break; printf("%d\n",i);}2、已知a,b,c都是1位整数,求当三位整数abc、cba的和为1333时a、b、c的值。#include<stdio.h>voidmain(){ inta,b,c;ﻩfor(a=1;a<=9;a++) {ﻩﻩfor(b=0;b<=9;b++)ﻩ {ﻩ for(c=1;c<=9;c++)ﻩﻩﻩif(a*100+b*10+c+c*100+b*10+a==1333) ﻩprintf("%d,%d,%d\n",a,b,c);ﻩ } }}3、计算并输出200-400之间不能被3整除的整数的和。#include<stdio.h>voidmain(){inti,sum=0; for(i=200;i<=400;i++)ﻩif(i%3!=0) sum=sum+i; printf("%d\n",sum);}4、从键盘输入10个数,记录非负数的个数,并计算非负数的和。#include<stdio.h>voidmain(){inti,n=0,sum=0;inta[10];printf(“请输入10个数:”);for(i=0;i<10;i++)scanf(“%d”,&a[i]);ﻩfor(i=0;i<10;i++) if(a[i]>=0)ﻩ{sum=sum+a[i]; n++;}printf("非负个数是%d,sum=%d\n",n,sum);}5、求100之内自然数中偶数之和。#include<stdio.h>voidmain(){inti,sum=0;ﻩfor(i=0;i<=100;i++) if(i%2==0)ﻩsum=sum+i;printf("sum=%d\n",sum);}6、输入5个数,求和并输出。规定编写求和的函数。#include<stdio.h>voidmain(){intb(intx[],intn);ﻩintsum=0;ﻩinta[5]; inti;printf("请输入5个数:");for(i=0;i<5;i++)scanf("%d",&a[i]); sum=b(a,5);printf("sum=%d\n",sum);}intb(intx[],intn){inti,sum=0; for(i=0;i<5;i++)ﻩsum=sum+x[i]; returnsum;}7、编程计算1*2*3+3*4*5+5*6*7+...+99*100*101的值。#include<stdio.h>voidmain(){inti,sum=0; for(i=1;i<=99;i=i+2)sum=sum+i*(i+1)*(i+2);ﻩprintf("%d\n",sum);}8、编写程序,将用户输入的字符串中所有的字符a用*代替,然后输出。#include<stdio.h>#include<string.h>voidmain(){inti,n; charb[20];printf("请输入字符串:");gets(b);n=strlen(b); for(i=0;i<n;i++)ﻩﻩif(b[i]=='a')ﻩﻩﻩb[i]='*'; ﻩfor(i=0;i<n;i++) ﻩ printf("%c",b[i]); ﻩﻩprintf("\n");}9、编写程序,将一个一维数组的元素逆序存放并输出。例如,原顺序为1,2,3,4,5,逆序后为5,4,3,2,1。#include<stdio.h>voidmain(){inti; inta[5];printf(“请输入5个数:”);for(i=0;i<5;i++)scanf(“%d”,&a[i]); for(i=0;i<2;i++){t=a[i]; a[i]=a[4-i];a[4-i]=t;} for(i=0;i<5;i++) printf("%d",b[i]); printf("\n");}11、编程判断输入的整数的正负性和奇偶性。假如为正数,输出z;假如为负数,输出f;假如为偶数,输出o;假如为奇数,输出j#include<stdio.h>voidmain(){inta;printf(“请输入一个数:”);scanf(“%d”,&a); if(a>0)printf("z\n"); if(a<0)printf("f\n");if(a%2==0)printf("o\n");if(a%2!=0)printf("j\n");}12、计算并输出1-200之间不能被5整除的整数的和。#include<stdio.h>voidmain(){inti,sum=0;ﻩfor(i=1;i<=200;i++)ﻩif(i%5!=0) sum=sum+i; printf("%d\n",sum);}13、从键盘输入n和a的值,计算a+aa+aaa+...+aa...a(n个a)的值。#include<stdio.h>voidmain(){inti,a,n; longintsum=0,st=0;printf("请输a和n:");scanf("%d%d",&a,&n); for(i=1;i<=n;i++)ﻩ{st=st+a;ﻩ sum=sum+st; a=a*10;ﻩ} printf("%ld\n",sum);}14、输入5个数,求它们中最大值和平均值并输出。#include<stdio.h>voidmain(){ﻩinta[5]; inti,j,max,sum=0;floataverage;printf("请输入5个数:");for(i=0;i<5;i++)scanf("%d",&a[i]); max=a[0]; for(j=0;j<5;j++)ﻩ{ﻩ sum=sum+a[j]; if(max<a[j])ﻩﻩmax=a[j]; }ﻩaverage=1.0/5*sum;ﻩprintf("max=%d,average=%f\n",max,average);}15、输出所有200-400之间能被3整除且个位数字为6的整数。#include<stdio.h>voidmain(){ inti; for(i=200;i<=400;i++) if((i%3==0)&&((i-6)%10==0)) printf("%d\n",i);ﻩprintf("\n");}16、编写程序,将用户输入的字符串中所有的字符a去掉,然后输出剩余的字符。#include<stdio.h>voidmain(){inti,j,n1;ﻩchara[20];printf("请输入字符串:");gets(a);n1=strlen(a); for(i=0;i<n1;i++)ﻩ if(a[i]!='a') printf("%c",a[i]); ﻩﻩprintf("\n");}17、计算并输出200-400之间不能被7整除的整数的和。#include<stdio.h>voidmain(){inti,sum=0;ﻩfor(i=200;i<=400;i++) if(i%7!=0) sum=sum+i;ﻩprintf("sum=%d\n",sum);}18.计算并输出200-400之间不能被5整除的整数的和。#include<stdio.h>voidmain(){inti,sum=0;ﻩfor(i=200;i<=400;i++) if(i%5!=0) sum=sum+i; printf("sum=%d\n",sum);}19、从键盘输入10个数,记录非正数的个数,并计算非正数的和#include<stdio.h>voidmain(){inti,n=0,sum=0;inta[10];printf(“请输入10个数:”);for(i=0;i<10;i++)scanf(“%d”,&a[i]); for(i=0;i<10;i++)ﻩif(a[i]<=0)ﻩ{sum=sum+a[i];ﻩn++;}printf("非正个数是%d,sum=%d\n",n,sum);}20、输入一串字符,将其中的大写字母变成相应的小写字母并输出。#include<stdio.h>#include<string.h>voidmain(){inti,n;chara[20];printf("请输入字符串:");gets(a);n=strlen(a); for(i=0;i<n;i++) if(a[i]>='A'&&a[i]<='Z')ﻩa[i]=a[i]+32;for(i=0;i<n;i++)ﻩprintf("%c",a[i]); printf("\n");}21、打印所有的水仙花数。所谓水仙花数是指一个三位数,其各位数字的立方和等于该数。例如,153就是一个水仙花数,由于153=1*1*1+5*5*5+3*3*3。#include<stdio.h>voidmain(){inta,b,c,s; for(a=1;a<=9;a++) { for(b=0;b<=9;b++) ﻩ{ﻩ ﻩfor(c=0;c<=9;c++) if(a*100+b*10+c==a*a*a+b*b*b*b+c*c*c)ﻩ ﻩ{ﻩ ﻩ s=a*100+b*10+c; ﻩﻩ ﻩﻩ ﻩﻩprintf("%d\n",s); ﻩﻩ}ﻩ }ﻩ}}22、一个皮球从100米高度自由落下,每次落地后反弹回原高度的一半,再落下,再反弹。求当它第10次落地时,共通过了多少米,第10次反弹多高?#include<stdio.h>voidmain(){inti; floatsum=100.0,h=50; for(i=2;i<=10;i++) {ﻩﻩsum=sum+2*h; h=h/2;ﻩ} ﻩprintf("%f,%f\n",sum,h);}23、输出所有0-200之间能被3整除且个位数字为6的整数。#include<stdio.h>voidmain(){ inti; for(i=0;i<=200;i++)ﻩif((i%3==0)&&((i-6)%10==0)) printf("%d\n",i);ﻩprintf("\n");}24、输入一个正整数,输出它的阶乘。#include<stdio.h>voidmain(){inti,J=1,n=10;printf(“请输入一个正整数:”);scanf(“%d”,&n);ﻩfor(i=1;i<=n;i++) J=J*i;printf("%d的阶乘是:%d\n",n,J);}25、编写程序,判断从键盘输入的字符中数字字符的个数、大写字母的个数、小写字母的个数及其它字符的个数,以*作为字符输入结束标志。#include<stdio.h>#include<string.h>voidmain(){inti,x,m=0,n=0,k=0,j=0; chara[20];printf("请输入字符串:");gets(a);x=strlen(a);ﻩfor(i=0;i<x;i++) {ﻩ ﻩif(a[i]=='*')break; else if(a[i]>='0'&&a[i]<='9') ﻩm++; elseif(a[i]>='A'&&a[i]<='Z')ﻩﻩn++;elseif(a[i]>='a'&&a[i]<='z')ﻩ k++;else j++; }ﻩprintf("%d,%d,%d,%d\n",m,n,k,j);}26、编写程序,使用循环结构输出下列图形:********************#include<stdio.h>voidmain(){inti,j,k; for(i=0;i<5;i++){ for(j=0;j<4-i;j++) printf("");ﻩfor(k=0;k<4;k++)printf("*"); ﻩprintf("\n");ﻩ} printf("\n");}27、输入一串字符,逆序输出。规定使用数组实现。#include<stdio.h>#include<string.h>voidmain(){inti,j,t,n; chara[10];printf("请输入字符串:");gets(a);n=strlen(a);ﻩfor(i=0;i<n/2;i++) { ﻩt=a[i]; a[i]=a[n-1-i]; a[n-1-i]=t;ﻩ} ﻩfor(j=0;j<n;j++) printf("%c",a[j]);printf("\n");}28、求1-1/2+1/3-1/4+...+1/99-1/100的值。#include<stdio.h>voidmain(){intn,s=1;ﻩfloatﻩsum=1.0;ﻩfor(n=2;n<=100;n++) {ﻩﻩs=-s;ﻩ sum=sum+1.0/n*s; } printf("1-1/2+1/3-1/4+...+1/99-1/100=%f\n",sum);}29、输入3个学生4门课的成绩{(60,70,65,75),(75,80,75,90),(95,75,90,65)},计算每个学生的总分和平均成绩并输出,结果保存一位小数。#include<stdio.h>voidmain(){inta[3][4]={{60,70,65,75},{75,80,75,90},{95,75,90,65}};ﻩinti,j; floataverage,sum=0.0;printf("三个学生的总分和平均成绩依次为:\n");ﻩfor(i=0;i<3;i++) {sum=0.0; for(j=0;j<4;j++) sum=sum+a[i][j]; ﻩaverage=sum/4;ﻩﻩprintf("%.2f,%.2f\n",sum,average);ﻩ}}30、求两个正整数的最大公约数。#include<stdio.h>voidmain(){intm,n,m1,n1,t,k;printf(“请输入两个正整数:”);scanf(“%d%d”,&m,&n);if(m<n) {t=m;ﻩﻩm=n;ﻩﻩn=t;ﻩ}ﻩm1=m; n1=n; while((k=m1%n1)!=0) {m1=n1;ﻩ n1=k; }ﻩprintf("%d和%d最大公约数是:%d\n",m,n,n1);}31、求100之内自然数中奇数之和。#include<stdio.h>voidmain(){inti,sum=0;ﻩfor(i=0;i<=100;i++) if(i%2!=0)ﻩsum=sum+i;printf("sum=%d\n",sum);}32、输出所有200-400之间能被3整除且个位数字为7的整数。#include<stdio.h>voidmain(){ inti;ﻩfor(i=200;i<=400;i++)ﻩif((i%3==0)&&((i-7)%10==0)) printf("%d\n",i); printf("\n");}33、编程计算1*2*3+4*5*6+...+97*98*99的值。#include<stdio.h>voidmain(){ inti,n,sum=0; for(i=1;i<=94;i=i+3)sum=sum+i*(i+1)*(i+2); printf("%d\n",sum);}34、输入n的值,计算并输出1*1+2*2+3*3+4*4+5*5+...+n*n的值。规定编写函数f求平方。#include<stdio.h>voidmain(){intﻩf(intx);ﻩintn,sum;printf("请输n值:");scanf("%d",&n);sum=f(n);ﻩprintf("%d\n",sum);}intf(intx){intj,z=0; for(j=1;j<=x;j++)ﻩﻩz=z+j*j;ﻩreturnz;}35、计算并输出1-200之间不能被3整除的整数的和。#include<stdio.h>voidmain(){inti,sum=0; for(i=1;i<=200;i++)ﻩif(i%3!=0) sum=sum+i; printf("%d\n",sum);}36、输入3个学生4门课的成绩{(60,70,65,75),(75,80,75,90),(95,75,90,65)},计算每个学生的总分和平均成绩并输出,结果保存一位小数。#include<stdio.h>voidmain(){inta[3][4]={{60,70,65,75},{75,80,75,90},{95,75,90,65}}; inti,j;ﻩfloataverage,sum=0.0;printf("三个学生的总分和平均成绩依次为:\n"); for(i=0;i<3;i++)ﻩ{sum=0.0; for(j=0;j<4;j++) sum=sum+a[i][j];ﻩ average=sum/4; ﻩprintf("%.1f,%.1f\n",sum,average);ﻩ}}37、输入一个华氏温度,输出摄氏温度,计算公式为c=5/9*(F-32)。规定结果保存两位小数。#include<stdio.h>voidmain(){floatF,c;printf(“请输入一个华氏温度:”);scanf(“%f”,&F); c=5.0/9*(F-32);ﻩprintf("%.2f\n",c);}38、输入任意三个数,按从大到小的顺序输出。#include<stdio.h>voidmain(){inta,b,c,t;printf(“请输入任意三个数:”);scanf(“%d%d%d”,&a,&b,&c);ﻩif(a<b) {t=a; a=b; ﻩb=t; }if(a<c)ﻩ{t=a; ﻩa=c; ﻩc=t;ﻩ} if(b<c)ﻩ{t=b; ﻩb=c;ﻩﻩc=t;}ﻩprintf("%d,%d,%d\n",a,b,c);}39、用1元人民币兑换5分、2分、1分的硬币共50枚,每种硬币至少一枚,问共有多少种兑换方案?输出每一种方案中三种硬币的数量。#include<stdio.h>main(){floatx=1.0;floata=0.01,b=0.02,c=0.05;inti,j,k;intcount=0;printf("1分,2分,5分张数依次为:\n");for(i=1;i<100;i++)for(j=1;j<50;j++)for(k=1;k<20;k++) if((i*a+j*b+k*c)==1&&i+j+k==50){printf("%d%d%d\n",i,j,k);count++;}ﻩ printf("共有%d种方案\n",count);}40、从键盘输入圆的半径,计算并输出圆面积与周长,规定结果保存两位小数。#include<stdio.h>voidmain(){intr;ﻩfloatpi=3.14159;ﻩfloatc,s;printf(“请输入半径r:”);scanf(“%d”,&r); s=pi*r*r; c=2*pi*r; printf("面积=%.2f,周长=%.2f\n",s,c);41、从键盘输入一个字符串,再输入两个正整数m和n,输出字符串中从m开始,连续n个字符。例如,输入abcdefg,2,3,输出bcd。#include<stdio.h>#include<string.h>voidmain(){inti,m,n; chara[20];printf("请输入字符串:");gets(a);n=strlen(a);printf("请输入两个正整数:");scanf("%d%d",&m,&n);for(i=m-1;i<m+n-1;i++)ﻩprintf("%c",a[i]);ﻩprintf("\n");}42、输入一个不多于5位的正整数,判断它是几位数,并逆序输出各位数字。#include<stdio.h>voidmain(){inta,b,c,d,e;ﻩlongﻩx;printf(“请输入一个不多于5位的正整数:”);scanf(“%d”,&x); a=x/10000;ﻩb=x%10000/1000; c=x%1000/100;ﻩd=x%100/10;ﻩe=x%10;if(a!=0)printf("它是5位数,%d,%d,%d,%d,%d\n",e,d,c,b,a);elseif(b!=0)printf("它是4位数,%d,%d,%d,%d\n",e,d,c,b);elseif(c!=0)printf("它是3位数,%d,%d,%d\n",e,d,c);elseif(d!=0)printf("它是2位数,%d,%d\n",e,d);elseprintf("它是1位数,%d\n",e);}43,输出Fibonacci数列的前40项#include<stdio.h>voidmain(){ﻩinta[40]={1,1}; inti;ﻩprintf("%12d%12d",a[0],a[1]);ﻩfor(i=2;i<40;i++)ﻩ{ if(i%4==0)printf("\n");ﻩﻩa[i]=a[i-1]+a[i-2];ﻩﻩprintf("%12d",a[i]);ﻩ} printf("\n");}44,判断某一年是否是闰年#include<stdio.h>voidmain(){ﻩintyear,leap;printf(“请输入一个年份:”);ﻩscanf("%d",&year); if(year%4==0) { if(year%100==0)ﻩ { if(year%400==0)ﻩﻩ leap=1;ﻩﻩﻩelseﻩ ﻩleap=0; ﻩ}ﻩ elseleap=1;ﻩ}ﻩelse leap=0;ﻩif(leap)ﻩ printf("%disaleapyear\n",year); else ﻩprintf("%disnotaleapyear\n",year);}45,起泡法(选择法)对十个数排序#include<stdio.h>voidmain(){ﻩinti,j,t; inta[10]; printf("请输入10个数:\n");ﻩfor(i=0;i<10;i++) scanf("%d",&a[i]); for(j=0;j<9;j++)ﻩﻩfor(i=0;i<9-j;i++) if(a[i]>a[i+1])ﻩﻩ { ﻩ ﻩ t=a[i]; ﻩa[i]=a[i+1]; ﻩﻩa[i+1]=t;ﻩ ﻩ}ﻩ for(i=0;i<10;i++)ﻩ ﻩ printf("%d",a[i]);ﻩ ﻩprintf("\n");}46,判断某个数是否为素数.#include<stdio.h>#include<math.h>voidmain(){ inti,m; floatk;printf("请输入一个正整数:");ﻩscanf("%d",&m);ﻩk=sqrt(m); for(i=2;i<=k;i++)ﻩﻩif(m%i==0)break;ﻩ if(i>k)printf("%disaprimenumber\n",m);ﻩﻩelseprintf("%disnotaprimenumber\n",m);}47,编程计算1!+2!+3!+…+10的值。#include<stdio.h>voidmain(){inti,j,sum1=1,sum=0;ﻩfor(i=1;i<=10;i++)ﻩ{ for(j=1;j<=i;j++)ﻩﻩsum1=sum1*j; sum=sum+sum1; }printf("1!+2!+3!+…+10!=%ld\n",sum);}48,求以下数列前十五项的和:2/1,3/2,5/3,8/5,13/8,21/13…。#include<stdio.h>voidmain(){intn; floata=2.0,sum=0.0,b=1.0,t;ﻩfor(n=1;n<=15;n++) {sum=sum+a/b;ﻩﻩt=a; a=a+b; b=t;} printf("%f\n",sum);}49,从键盘输入圆柱体高与底面半径,计算并输出圆柱体表面积与体积,规定结果保存两位小数。#include<stdio.h>voidmain(){ﻩinth,r;ﻩfloatpi=3.14159,s,v;printf(“请输入圆柱体半径r和高h:”);scanf(“%d%d”,&r,&h);ﻩs=2*pi*r*r+2*pi*r*h;ﻩv=pi*r*r*h;printf("s=%.2f,v=%.2f\n",s,v);}50,从键盘输入一个十进制整型数据,计算并输出其各位上数字之和(忽略正负号)。例如,输入1234,输出10;输入-1234,输出10。#include<stdio.h>#include<math.h>voidmain(){inti1,i2,i3,i4,n,sum; inta;printf("请输入一个整数:");ﻩscanf("%d",&a);ﻩn=abs(a);i1=n/1000; i2=n%1000/100; i3=n%100/10; i4=n%10;sum=i1+i2+i3+i4;printf("sum=%d\n",sum);}51,已知银行定期存款利率为r=2.25%,输入存款本金x、存款年数n,输出本利之和y=x(1+r)(1+r)...(1+r),共n个(1+r)。#include<stdio.h>voidmain(){ﻩfloatx,y,r=0.0225;ﻩinti,n;printf("请输入存款本金x和存款年数n:"); scanf("%f%d",&x,&n); y=x;ﻩfor(i=1;i<=n;i++)ﻩy=y*(1+r);printf("%f\n",y);}52,编程判断输入的字符串是否为“回文”。所谓“回文”是指顺读和倒读都同样,如abcba。#include<stdio.h>#include<string.h>voidmain(){ﻩinti,n; chara[20];printf("请输入字符串:");gets(a);n=strlen(a);for(i=0;i<n;i++){if(a[i]==a[n-i-1])continue;elseprintf("不是回文.\n");break;}if(i>=n)printf("是回文.\n");}53、编写程序,将用户输入的字符串中删除所有的数字,然后输出剩余的字符。#include<stdio.h>voidmain(){inti,j,n1;ﻩchara[20];printf("请输入字符串:");gets(a);n1=strlen(a); for(i=0;i<n1;i++)ﻩif((a[i]>='0'&&a[i]<='9')==0) printf("%c",a[i]);ﻩprintf("\n");}1.有一函数:当x<0时,y=-1;当x=0时,y=0;当x>0时,y=1。编一程序,输入x的值,输出y的值。#include<stdio.h>intmain(){ intx,y;ﻩscanf("%d",&x);if(x>=0)if(x>0)y=1;elsey=0;elsey=-1;printf("x=%d,y=%d\n",x,y);return0;}2.输入三个实数,将这三个数按由大到小的顺序排列,并输出这三个数。#include<stdio.h>intmain(){floata,b,c,t;scanf("%f,%f,%f",&a,&b,&c);if(a<b){t=a;a=b;b=t;}if(a<c){t=a;a=c;c=t;}if(b<c){t=b;b=c;c=t;}printf("%5.2f,%5.2f,%5.2f\n",a,b,c);return0;}3.有三个整数a,b,c,由键盘输入,输出其中最大者。#include<stdio.h>intmain(){inta,b,c,max;printf("请输入a,b,c\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if(max<b)max=b;if(max<c)max=c;printf("最大的数为%d\n",max);return0;}4.编程求圆面积、圆周长。规定圆半径由键盘输入,输出时规定有文字说明,取小数点后两位数字。#include<stdio.h>

voidmain()ﻫ{

floatr,l,s;ﻫfloatpi=3.1415926;ﻫprintf("表输入圆半径r:");ﻫscanf("%f",&r);ﻫl=2*pi*r;ﻫs=pi*r*r;ﻫprintf("圆周长为:l=%6.2f\n",l);ﻫprintf("圆面积为:s=%6.2f\n",s);

}5.有分段函数:当x<-10时,y=|x|+5;当-10≤x≤10时,y=4x-8;当x>10时,y=sqrt(x)。编一程序,输入x的值,输出y的值。#include<stdio.h>intmain(){ intx,y;ﻩscanf("%d",&x); if(x<-10) ﻩy=abs(x)+5; elseif(x<=10) y=4*x-8;ﻩelsey=sqrt(x); printf("x=%d,y=%d\n",x,y);ﻩreturn0;}6.编写程序,判断某一年是否是闰年。(闰年的条件是:能被4整除,但是不能被100整除,或者可以被400整除。)#include<stdio.h>intmain() {intyear,leap;printf("enteryear:");scanf("%d",&year);if(year%4==0)if(year%100==0) if(year%400==0)leap=1;elseleap=0;ﻩelseleap=1;elseleap=0;if(leap)printf("%dis",year);elseprintf("%disnot",year);printf("aleapyear.\n");return0;}7.输入一个华氏温度,规定输出摄氏温度,输出时规定有文字说明,取小数点后两位数字。公式为c=5/9(f-32)#include<stdio.h>intmain(){floatc,f;printf("请输入一个华氏温度:");scanf("%f",&f);c=(5.0/9.0)*(f-32);printf("摄氏温度为:%5.2f\n",c);return0;}8.有一函数:当x<1时,y=|x|;当1<=x<10时,y=2x-1;当x>=10时,y=3x+11。编一程序,输入x的值,输出y的值。#include<stdio.h>ﻫ#include<math.h>ﻫvoidmain()

{ﻫintx,y;ﻫprintf("输入x:");ﻫscanf("%d",&x);ﻫif(x<1)ﻫy=abs(x);

elseif(x<10)ﻫy=2*x-1;ﻫelse

y=3*x+11;

printf("x=%3d,y=%d\n",x,y);

}9.输入三个实数,将这三个数按由小到大的顺序排列,并输出这三个数。main()ﻫ{inta,b,c,*p1,*p2,*p3,t;ﻫscanf("%d,%d,%d",&a,&b,&c);ﻫp1=&a;p2=&b;p3=&c;

if(*p1>*p2)ﻫ{t=p1;p1=p2;p2=t;}

if(*p1>*p3)ﻫ{t=p1;p1=p3;p3=t;}

if(*p2>*p3)ﻫ{t=p2;p2=p3;p3=t;}

printf("%d,%d,%d\n",*p1,*p2,*p3);

}10.输入一个字符,判断它是否是小写字母,假如是,将它转换成大写字母;假如不是,不转换。然后输出最后得到的字符。#include<stdio.h>voidmain(){charch;scanf("%c",&ch);ch=(ch>='A'&&ch<='Z')?(ch+32):ch;printf("%c\n",ch);}11.编程求圆柱体积,圆柱表面积。规定圆半径,圆柱高由键盘输入,输出时规定有文字说明,取小数点后两位数字。#include<stdio.h>voidmain(){floatr,h,v,s;floatpi=3.1415926;printf("表输入圆半径r、圆柱高h:");scanf("%f%f",&r,&h);v=pi*r*r*h;s=2*pi*r*r+2*pi*r*h;printf("圆柱体积为:v=%6.2f\n",v);printf("圆柱表面积为:s=%6.2f\n",s);}12.有分段函数:当x<-5时,y=x+10;当-5≤x≤5时,y=x^2;当x>5时,y=2x-10.编一程序,输入x的值,输出y的值。#include<stdio.h>intmain(){ﻩintx,y;ﻩscanf("%d",&x);ﻩif(x<-5) ﻩy=x+10;ﻩelseif(x<=5)ﻩ y=x^2;ﻩelsey=2*x-10;ﻩprintf("x=%d,y=%d\n",x,y); return0;}13.有三个整数a,b,c,由键盘输入,输出其中最小者。#include<stdio.h>intmain(){inta,b,c,max;printf("请输入a,b,c\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if(max>b)max=b;if(max>c)max=c;printf("最小的数为%d\n",max);return0;}14.输入一个字符,判断它是否是大写字母,假如是,将它转换成小写字母;假如不是,不转换。然后输出最后得到的字符。#include<stdio.h>ﻫvoidmain()

{ﻫcharch;

scanf("%c",&ch);

ch=(ch>='A'&&ch<='Z')?(ch+32):ch;ﻫprintf("%c\n",ch);

}15.输入三角形的三边长,求三角形面积。求三角形面积的公式为area=sqrt(s(s-a)(s-b)(s-c)),其中s=(a+b+c)/2#include<stdio.h>#include<math.h>voidmain(){floata,b,c,s,area;scanf("%f%f%f",&a,&b,&c);s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c));printf("%f\n",area);}16.编程求2!+4!+6!+8!+10!的值,并输出结果。#include<stdio.h>intmain(){intn=1,sum=0,j,m=1,i;for(i=1;i<=5;i++){ﻩm=1;ﻩfor(j=1;j<=2*i;j++) ﻩm=m*j; sum=sum+m;}printf("sum=%d\n",sum);return0;}17.猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还但是瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后天天早上都吃了前一天剩下的一半零一个。到第10天早上想吃时就剩一个桃子了。求第一天共摘了多少个桃子。#include<stdio.h>intmain(){ﻩintday,x1,x2;ﻩday=9;ﻩx2=1;ﻩwhile(day>0)ﻩ{x1=(x2+1)*2;ﻩx2=x1; day--;}ﻩprintf("total=%d\n",x1);ﻩreturn0;}19.编程求1~100之间的所有素数,并输出结果。#include<stdio.h>#include<math.h>intmain(){ intn,m=0,k,i;for(n=1;n<=100;n=n+2){k=sqrt(n);for(i=2;i<=k;i++)if(n%i==0)break;if(i>=k+1) {printf("%d",n);ﻩm=m+1;ﻩ} if(m%10==0)printf("\n");}printf("\n");return0;}21.用pi/4≈1-1/3+1/5-1/7+...公式求pi的近似值,直到某一项的绝对值小于10的-6次方为止。#include<stdio.h>#include<math.h>intmain(){intsign=1;doublepi=0,n=1,term=1;while(fabs(term)>=1e-6){pi=pi+term;n=n+2;sign=-sign;term=sign/n;}pi=pi*4;printf("pi=%10.8f\n",pi);return0;}22.一个球从100m高度自由落下,每次落地后又反跳回原高度的一半,再落下,再反弹。求它在第10次落地时共通过多少米?#include<stdio.h>intmain(){ inti; doublem=100,sum=0;ﻩfor(i=0;i<10;i++){ sum=sum+m; m=m/2;ﻩ}ﻩprintf("%f\n",sum); return0;}23.输入两个正整数m和n,求其最大公约数和最小公倍数。#include<stdio.h>ﻫvoidmain()ﻫ{

intp,r,n,m,temp;ﻫprintf("请输入n和m:");

scanf("%d,%d,%d",&n,&m);

if(n<m)ﻫ{ﻫtemp=n;

n=m;

m=temp;ﻫ}ﻫp=n*m;

while(m!=0)ﻫ{ﻫr=n%m;

n=m;

m=r;

}ﻫprintf(":%d\n",n);ﻫprintf(":%d\n",p/n);

}24.运用循环,编程求1!+2!+3!+…+10!的值,并输出结果。#include<stdio.h>intmain(){intn=1,sum=0,j,m=1,i;for(i=1;i<=10;i++){ﻩm=1; for(j=1;j<=i;j++) ﻩm=m*j;ﻩsum=sum+m;}printf("sum=%d\n",sum);return0;}25.有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13......,求出这个数列前20项之和。#include<stdio.h>intmain(){inti,n=20;doublea=2,b=1,s=0,t;for(i=1;i<=n;i++){s=s+a/b;t=a,a=a+b,b=t;}printf("sum=%16.10f\n",s);return0;}26.求Fibonacci数列前40个数。这个数列有以下特点:第1和第2个数为1,从第3个数开始,该数是其前面两个数之和。#include<stdio.h>intmain(){intf1=1,f2=1,f3;inti;printf("%12d\n%12d\n",f1,f2);for(i=1;i<=38;i++){f3=f1+f2; printf("%12d\n",f3); f1=f2; f2=f3;}return0;}27.一个数假如恰好等于它的因子之和,这个数就称为完数。例如,6的因子为1、2、3,而6=1+2+3,因此6是完数。编程求1000以内所有完数。#include<stdio.h>intmain(){intm,s,i; for(m=2;m<1000;m++)ﻩ{s=0; for(i=1;i<m;i++)ﻩ if((m%i)==0)s=s+i; if(s==m)ﻩ {printf("%d,itsfactorsare",m);ﻩﻩfor(i=1;i<m;i++) ﻩﻩif(m%i==0)printf("%d",i); ﻩ printf("\n"); }}return0;}28.求S=a+aa+aaa+...+aa...a(n个a)之值。其中a是一个数字,n代表a的位数。例如:2+22+222+2222+22222(此时n为5),n由键盘输入。#include<stdio.h>intmain(){ﻩinta,sn=0,tn=0,k,i=1,n; printf("a,n=:");ﻩscanf("%d,%d",&a,&n);ﻩwhile(i<=n)ﻩ{ﻩﻩtn=tn+a;ﻩﻩsn=sn+tn; ﻩa=a*10;ﻩﻩ++i; }printf("a+aa+aaa+...=%d\n",sn);return0;}30.输入一行字符,分别记录出其中英文字母、空格、数字和其他字符的个数。#include<stdio.h>voidmain(){charc;intletters=0,space=0,digit=0,other=0;printf("\n");while((c=getchar())!='\n'){if(c>='a'&&c<'z'||c>='A'&&c<='Z')letters++;elseif(c=='')space++;elseif(c>='0'&&c<='9')digit++;elseother++;}printf(":%d\n:%d\n:%d\n:%d\n",letters,space,digit,other);}31.将一个数组中的值按逆序重新存放。例如,本来顺序为8,6,4,3,2,0。规定改为0,2,3,4,6,8。#include<stdio.h>#defineN6voidmain(){inta[N],i,temp;printf("enterarraya:\n");for(i=0;i<N;i++)scanf("%d",&a[i]);printf("arraya:\n");for(i=0;i<N;i++)printf("%4d",a[i]);for(i=0;i<N/2;i++){temp=a[i];a[i]=a[N-i-1];a[N-i-1]=temp;}printf("\nNow,arraya:\n");for(i=0;i<N;i++)printf("%d",a[i]);printf("\n");}32.编写一个函数,求数列1+1/2+1/3+1/4+1/5+...1/n,运用

温馨提示

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

评论

0/150

提交评论