c语言.docx
- 文档编号:10037604
- 上传时间:2023-02-08
- 格式:DOCX
- 页数:22
- 大小:22.36KB
c语言.docx
《c语言.docx》由会员分享,可在线阅读,更多相关《c语言.docx(22页珍藏版)》请在冰豆网上搜索。
c语言
1编写一个程序,输入a、b、c三个值,输出其中最大值。
2有3个整数a、b、c,由键盘输入,输出其中最大的数
3给一个百分制成绩,要求输出等级’A’、’B’、’C’、’D’、’E’。
90分以上为’A’,80~90分为’B’,70~79分为’C’,60分以下为’D’。
4输入4个整数,要求按由大到小的顺序输出。
5输入两个正整数m和n,求其最大公约数和最小公倍数。
6输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
7求Sn=a+aa+aaa+…+aa…aaa(有n个a)之值,其中a是一个数字。
例如:
2+22+222+2222+22222(n=5),n由键盘输入。
8求,(即求1!
+2!
+3!
+4!
+5!
+…+20!
)
9打印出所有"水仙花数"因为153=1^3+5^3+3^3。
10一个数如果恰好等于它的因子之和,这个数就称为"完数"。
6 its factors are 1、2、3
11一球从100米高度自由下落,每次落地后返回原高度的一半,再落下。
求它在第10次落地时共经过多少米?
第10次反弹多高?
12猴子吃桃问题。
求第一天共摘多少桃子。
13用迭代法求。
求平方根的迭代公式为:
14用筛法求之内的素数。
15用选择法对10个整数从小到大排序。
16求一个3×3矩阵对角线元素之和。
17已有一个已排好的数组今输入一个数要求按原来排序的规律将它插入数组中。
18将一个数组的值按逆序重新存放,例如,原来顺序为:
8,6,5,4,1。
要求改为:
1,4,
19有一篇文章,共有3行文字,每行有个80字符。
要求分别统计出其中英文大写字母、小写字母、空格以及其它字符的个数。
20有一行电文译文下面规律译成密码:
A->Z a->zB->Y b->yC->X c->x…即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。
非字母字符不变,要求编程序将密码回原文,并打印出密码和原文。
21编一程序,将两个字符串连接起来,不要strcat函数。
22编写一个程序,将字符数组s2中的全部字符拷贝到字符数组s1中,不用strcpy函数。
拷贝时,’\0’也要拷贝过去,’\0’后面的字符不拷贝。
23写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息。
24写一个函数,使给定的一个二维数组(3×3)转置,即行列互换。
25写一函数,将两个字符串连接。
26写一函数,输入一个四位数字,要求输出这四个数字字符,但每两个数字间空格。
如输入1990,应输出"1_9_9_0"。
28编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述结果。
29写一函数用起泡法对输入的个字符按由小到大的顺序排列。
30用递归方法求n阶勒让德多项式的值递归公式为
31给出年、月、日,计算该日是该年的第几天。
32定义一个带参的宏,使两个参数的值互换,并写出程序,输入两个数作为使用宏时的实参。
输出已交换后的两个值。
33输入两个整数,求他们相除的余数。
用带参的宏来实现,编程序。
34给年份year,定义一个宏,以判别该年份是否闰年。
提示:
宏名可以定义为LEAP_YEAR,
35用条件编译方法实现以下功能:
输入一行电报文字,可以任选两种输出,一为原文输出;一为将字母变成其下一字母(如’a’变成’b’……’z’变成’a’其它字符不变)用命令来控制是否要译成密码。
例如:
#defineCHANGE1则输出密码。
若:
#defineCHANGE0则不译为密码,按原码输出。
36输入三个整数,按由小到大的顺序输出。
37定义一个结构体变量(包括年、月、日)。
计算该日在本年中是第几天,注意闰年问题。
、
1编写一个程序,输入a、b、c三个值,输出其中最大值。
解:
mian()
{inta,b,c,max;
printf(“请输入三个数a,b,c:
\n”);
scanf(“%d,%d,%d”,&a,&b,&c);
max=a;
if(max
max=b;
if(max max=c; printf(“最大数为: “%d”,max); } 2有3个整数a、b、c,由键盘输入,输出其中最大的数 #include main() {inta,b,c,temp,max; printf("请输入3个整数: "); scanf("%d,%d,%d",&a,&b,&c); temp=(a>b)? a: b;/*将a和b中的大者存人temp中*/ max=(temp>c)? temp: c;/*将a和b中的大者与c比较,取最大者*/ printf("3个整数的最大数是%d\n”,max); } 3给一个百分制成绩,要求输出等级’A’、’B’、’C’、’D’、’E’。 90分以上为’A’,80~90分为’B’,70~79分为’C’,60分以下为’D’。 解: 程序如下: #include main() {floatscore; chargrade; printf("请输入学生成绩: "); scanf("%f",&score); while(score>100||(score<0) {printf("\n输入有误,请重新输入: "); scanf("%f",&score); } switch((int)(score/10)) {case10: case9: grade=’A’;break; case8: grade=’B’;break; case7: grade=’C’;break; case6: grade=’D’;break; case5: case4: case3: case2: case1: case0: grade=’E’; } printf("成绩是%5.1f,相应的等级是%c。 \n",score,grade); } 4输入4个整数,要求按由大到小的顺序输出。 #include main() {intt,a,b,c,d; printf("请输入4个整数: "); scanf("%d,%d,%d,%d",&a,&b,&c,&d); printf("\na=%d,b=%d,c=%d,d=%d\n",a,b,c,d); if(a>b){t=a;a=b;b=t;} if(a>c){t=a;a=c;c=t;} if(a>d){t=a;a=d;d=t;} if(b>c){t=a;b=c;c=t;} if(b>d){t=b;b=d;d=t;} if(c>d){t=c;c=d;d=t;} printf("排序结果如下: \n"); printf("%d,%d,%d,%d\n",a,b,c,d); } 5输入两个正整数m和n,求其最大公约数和最小公倍数。 main() {longm,n,i=1,j,s; scanf("%ld,%ld",&m,&n); for(;i<=m&&i<=n;i++) {if(m%i==0&&n%i==0)s=i;} if(m>=n)j=m; elsej=n; for(;! (j%m==0&&j%n==0);j++); printf("s=%ld,j=%ld\n",s,j); } 6输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。 #include"stdio.h" main() {charc;inti=0,j=0,k=0,l=0; while((c=getchar())! =’\n’) {if(c>=65&&c<=90||c>=97&&c<=122)i++; elseif(c>=48&&c<=57)j++; elseif(c==32)k++; elsel++;} printf("i=%d,j=%d,k=%d,l=%d\n",i,j,k,l); } 7求Sn=a+aa+aaa+…+aa…aaa(有n个a)之值,其中a是一个数字。 例如: 2+22+222+2222+22222(n=5),n由键盘输入。 #include"math.h" main() {intn,sum=0,i=1,s=2; scanf("%d",&n); while(i<=n) {sum=sum+s;s=s+2*pow(10,i); i++;} printf("sum=%d\n",sum); } 8求,(即求1! +2! +3! +4! +5! +…+20! ) main() {intn,i=1;longsum=0,s=1; scanf("%d",&n); while(i<=n){s=s*i;sum=sum+s;i++;} printf("sum=%ld\n",sum); } 6.5求 main() {doublei=1,j=1,k=1,s1=0,s2=0,s3=0,sum; for(;i<=100;i++)s1=s1+i; for(;j<=50;j++)s2=s2+j*j; for(;k<=10;k++)s3=s3+1/k; sum=s1+s2+s3; printf("sum=%f\n",sum); } 9打印出所有"水仙花数"因为153=1^3+5^3+3^3。 #include"math.h" main() {intx=100,a,b,c; while(x>=100&&x<1000){a=0.01*x;b=10*(0.01*x-a);c=x-100*a-10*b; if(x==(pow(a,3)+pow(b,3)+pow(c,3)))printf("%5d",x);x++;} } 10一个数如果恰好等于它的因子之和,这个数就称为"完数"。 6 its factors are 1、2、3 main() {intm,i,j,s; for(m=6;m<10000;m++) {s=1; for(i=2;i if(m%i==0)s=s+i; if(m-s==0) {printf("%5ditsfastorsare1",m);for(j=2;j printf("%d",j);printf("\n");} } } 11一球从100米高度自由下落,每次落地后返回原高度的一半,再落下。 求它在第10次落地时共经过多少米? 第10次反弹多高? main() {inti,n;doubleh=100,s=100; scanf("%d",&n); for(i=1;i<=n;i++) {h*=0.5;if(i==1)continue;s=2*h+s;} printf("h=%f,s=%f\n",h,s); } 12猴子吃桃问题。 求第一天共摘多少桃子。 main() {inti=1,sum=0; for(;i<=10;sum=2*sum+1,i++); printf("sum=%d\n",sum); } 13用迭代法求。 求平方根的迭代公式为: 要求前后两次求出的得差的绝对值少于0.00001。 #include"math.h" main() {floatx0,x1,a; scanf("%f",&a); x1=a/2; do {x0=x1;x1=(x0+a/x0)/2;} while(fabs(x0-x1)>=0.00001); printf("%.3f\n",x1); } 14用筛法求之内的素数。 #include"math.h" main() {staticinti,j,k,a[98]; for(i=2;i<100;i++) {a[i]=i;k=sqrt(i); for(j=2;j<=a[i];j++) if(j break; if(j>=k+1) printf("%5d",a[i]); } printf("\n"); } 15用选择法对10个整数从小到大排序。 main() {inti,j,a[10],t; for(i=0;i<10;i++) scanf("%d",&a[i]); for(j=1;j<10;j++) for(i=0;i<=9-j;i++) if(a[i]>a[i+1]) {t=a[i+1];a[i+1]=a[i];a[i]=t;} for(i=0;i<10;i++) printf("%5d",a[i]); } 16求一个3×3矩阵对角线元素之和。 main() {inti=0,j=0,a[3][3],s1,s2; for(i=0;i<3;i++) for(j=0;j<3;j++) scanf("%d",&a[i][j]); s1=a[0][0]+a[1][1]+a[2][2]; s2=a[0][2]+a[1][1]+a[2][0]; printf("s1=%d,s2=%d\n",s1,s2); } 17已有一个已排好的数组今输入一个数要求按原来排序的规律将它插入数组中。 main() {staticinta[10]={1,7,8,17,23,24,59,62,101};inti,j,t; scanf("%d",&a[9]); for(i=9;i>0;i--)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言