C语言PTA平台习题与答案_第1页
C语言PTA平台习题与答案_第2页
C语言PTA平台习题与答案_第3页
C语言PTA平台习题与答案_第4页
C语言PTA平台习题与答案_第5页
免费预览已结束,剩余13页可下载查看

付费下载

下载本文档

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

文档简介

第二章作业1①.本题要求编写程序,输出一个短句"WelcometoYou!"#include<stdio.h>intmain(){printf("WelcometoYou!\n");return0;}②.本题要求编写程序,计算华氏温度100°时应的摄氏温度。计算公式:C=5xF-32)/9,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型。fahr=100,celsius=计算所得摄氏温度的整数值#include<stdio.h>intmain(){intfahr=100;intcelsius=5*(fahr-32)/9;printf("fahr=100,celsius=%d\n",celsius);return0;}第二章作业2①求整数均值本题要求编写程序,计算4个整数的和与平均值。题目保证输入与输出均在整型范围内。在一行中按照格式“Sum和;Average=平均值”顺序输出和与平均值,其中平均值精确到小数点后一位#include<stdio.h>intmain(){inta,b,c,d,Sum;doubleAverage;scanf("%d%d%d%d",&a,&b,&c,&d);Sum=a+b+c+d;Average=(a+b+c+d)/4.0;printf("Sum=%d,Average=%.1f\n",Sum,Average);return0;}②整数四则运算本题要求编写不§序,计算2个正整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内输入在一行中给出2个正整数A和B。在4行中按照格式"A运算符B=结果”顺序输出和、差、积、商。#include<stdio.h>intmain(){inta;intb;scanf("%d%d”,&a,&b);printf("%d+%d=%d\n",a,b,a+b);printf("%d-%d=%d\n",a,b,a-b);printf("%d*%d=%d\n",a,b,a*b);printf("%d/%d=%d”,a,b,a/b);return0;}③整数152的各位数字本题要求编写程序,输出整数152的个位数字、十位数字和百位数字的值152=个位数字+十位数字*10+百位数字*100#include<stdio.h>intmain()|{TOC\o"1-5"\h\zinta=152/100;|intc=152%10;|intcount=152%100;intb=count/10;|printf("152=%d+%d*10+%d*100”,c,b,a);|return0;}第二章作业3①求奇数分之一序列前N项和计算序列1+1/3+1/5+...的前N项之和输入在一行中给出一个正整数No在一行中按照“sum=S”的格式输出部分和的信,精确到小数点后6位。题目保证计算结果不超过双精度范围#include<stdio.h>intmain(){intn;inti=1;doubles=0;scanf("%d",&n);for(i=1;i<=n;i++){s+=1.0/(2*i-1);}printf("sum=%.6f',s);return0;}②计算序列1-1/4+1/7-1/10+...的前N项之和在一行中按照“sum=S”的格式输出部分和的值S,精确到小数点后三位。题目保证计算结果不超过双精度范围#include<stdio.h>intmain()(intfm=1,N,b=1;doubleitem,sum=0,i;scanf("%d",&N);for(i=1.0;i<=N;i++)(item=b*(i/fm);sum=sum+item;b二-b;fm=fm+2;}printf("%.3f\n",sum);return0;}③求平方根序列前N项和计算平方根序列"1+"2+"3+?N项之和#include<stdio.h>#include<math.h>intmain()(intn,i;doublex,s=0;scanf("%d",&n);for(i=1;i<=n;i++)(x=sqrt(i);s=s+x;}printf("sum=%.2f\n",s);return0;}④特殊a串数列求和给定两个均不超过9的正整数a和n,要求编写程序求a+aa+aaa++?+aa?a(n个a)之和。#include<stdio.h>#include<math.h>intmain()(intn,a,i,j;doublenum=0,sum=0;scanf("%d%d",&a,&n);for(i=1;i<=n;i++)(for(j=1;j<=i;j++)(num=num+a*pow(10,j-1);}sum=sum+num;num=0;}printf("s二%d",sum);return0;第二章作业4①本题目要求计算下列分段函数f(x)的值:xx聿10=\I/Jr-w■it输入在一行中给出实数x在一行中按"f(x)=result”的格式输出,建守result都保留一位小数。输入中^例1:10输出样例:1f(10.0)=0.1输入中^例2:234输出中^例2:f(234.0)=234.0#include<stdio.h>intmain()(doublex;scanf("%lf',&x);if(x==10){printf("f(%0.1f)=0.1",x);}else{printf("f(%0.1f)=%0.1f',x,x);}return0;}②计算分段函数本题目要求计算下列分段函数f(x)的值:,[户CJCiMOfT[(Jkil注:可在头文件中包含math.h,并调用sqrt函数求平方根,调用pow函数求幕。#include<stdio.h>intmain(){输入在一行中给出一个不超过109输入在一行中给出一个不超过109的正整数N在一行中输出N的位数及其各位数字之和,中间用一个空格隔开TOC\o"1-5"\h\z|scanf("%lf',&a);|在一行中输出N的位数及其各位数字之和,中间用一个空格隔开321Iif(a>=0){printf("f(%0.2f)二%0.2f',a,sqrt(a));}I321Ielse{printf("f(%0.2f)二%0.2f',a,(a+1)*(a+1)+2*a+1/a);}I#include<stdio.h>return0;#include<stdio.h>}intmain()③新胖子公式输入在一行中给出两个正数,依次为一个人的体重(以kg为单位)和身高(以m为单位),其间以空格分隔。其中体重不超过1000kg,身高不超过3.0m。intmain()intn,h,i,sum=0;首先输出将该人的体重和身高代入肥胖公式的计算结果,保留小数点后1位。如果这intn,h,i,sum=0;scanf("%d",&n);个数值大于25,就在第二行输出PANG否则输出HaiXing。scanf("%d",&n);doh=n%10;n/=10;#include<stdio.h>intmain(){doh=n%10;n/=10;doublea,b;sum+=h;scanf("%lf%lf',&a,&b);sum+=h;i++;doublec=a/(b*b);i++;printf("%0.1f\n",c);while(n>0);printf("%d%d",i,sum);return0;if(c>25){printf("PANG");}else{printf("HaiXing");}return0;while(n>0);printf("%d%d",i,sum);return0;③简单的猜数字游戏}③简单的猜数字游戏#include<stdio.h>intmain()第三章作业2#include<stdio.h>intmain()①求奇数和输入在一行中给出一系列正整数,其间以空格分隔。当读到零或负整数时,intx;表示输入结束,该数字不要处理intx;constintM=38;scanf("%d",&x);在一行中输出正整数序列中奇数的和。constintM=38;scanf("%d",&x);if(x>38){printf("Toobig!");}87437056101-1if(x>38){printf("Toobig!");}if(x==38){printf("GoodGuess!");}116if(x==38){printf("GoodGuess!");}if(x<38){printf("Toosmall!");}return0;#include<stdio.h>intmain(){if(x<38){printf("Toosmall!");}return0;intn=0;第四章作业1第四章作业1①奇偶分家输入第一行给出一个正整N((1000);第2行给出N个非负整数,以空格分隔。在一行中先后输出奇数的个数、偶数的个数。中间以1个空格分隔。988741012615034227736#include<stdio.h>intmain(){scanf("%d",&n);if(n%2==1){sum+=n;}}while(n>0);printf("%d",sum);return0;}②求整数的位数及各位数字之和inti,n,N;inta=0,b=0;scanf("%d",&n);for(i=0;i<n;i++)(scanf("%d",&N);if(N%2==0){a++;}else{b++;}}printf("%d%d",b,a);}②A除以B定两个绝对彳!不超过100的整数A和B,要求你按照“A/B帝”的格式输出结果在一行中输出结果:如果分母是正数,则输出“A/B葡”;如果分母是负数,则要用括号把分母括起来输出;如果分母为零,则输出的商应为Error#include<stdio.h>intmain(){inta,b;scanf("%d%d",&a,&b);if(b>0)printf("%d/%d=%.2f',a,b,a*1.0/b);elseif(b<0)printf("%d/(%d)=%.2f",a,b,a*1.0/b);elseprintf("%d/%d=Error",a);return0;}③高速公路超速处罚在高速公路上行使的机动车,达到或超出本车道限速的10%则处200元罚款;若达到或超出50%,就要吊销驾驶证输入在一行中给出2个正整数,分别对应车速和限速,其间以空格分隔。在一行中输出处理意见:若属于正常行驶,则输出“OR;若应处罚款,则输出“Exceedx%.Ticket200;若应吊销驾驶证,则输出"Exceedx%.LicenseRevoked其中”x是超速的百分比,精确到整数。110100Exceed10%.Ticket200#include<stdio.h>intmain(){inta,b;intx;scanf("%d%d",&a,&b);x二round(1.0*(a-b)/b*100);if(x<10){printf("OK\n");}elseif(x<50){printf("Exceed%d%%.Ticket200\n",x);}elseprintf("Exceed%d%%.LicenseRevoked\n",x);return0;}④输出三角形面积和周长根据输入的三角形的三条边a、b、c,计算并输出面积和周长。注意:在一个三角形中,任意两边之和大于第三边。三角形面积计算公式:area=Vs(s-a)(s-b)(s-c),其中s=(a+b+c)/2。area二面积;perimeter二周长Thesesidesdonotcorrespondtoavalidtriangle553area=7.15;perimeter=13.00#include<stdio.h>#include<math.h>intmain(){doublea,b,c,s;doublearea,perimeter;scanf("%lf%lf%lf',&a,&b,&c);area=0;perimeter=0;if((a+b)>c&&(a+c)>b&&(b+c)>a){s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c));perimeter=a+b+c;printf("area=%.2f;perimeter=%.2f',area,perimeter);}else{printf("Thesesidesdonotcorrespondtoavalidtriangle");}return0;}⑤输出闰年输入在一行中给出21世纪的某个截止年份。逐行输出满足条件的所有闰年年份,即每个年份占一行。输入若非21世纪的年份则输出"Invalidyear!"。若不存在任何闰年,则输出"None"。闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除#include<stdio.h>intmain(){intyear,i,count=0;scanf("%d",&year);if(year<=2000||year>2100)printf("Invalidyear!\n");else{for(i=2001;i<=year;i++){Iif(i%4==0&&i%100!二0||i%400==0){printf("%d\n",i);count++;}}if(count==0)printf("None'n");~I}return0;}⑥逆序的三位数程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。#include<stdio.h>intmain(){inta,b,c,n;scanf("%d",&a);b=a/100;c=(a/10)%10;n=a%10;if(n==0&&c==0)printf("%d",b);if(n==0&&c!=0)printf("%d%d",c,b);if(n!=0)printf("%d%d%d",n,c,b);return0;}第四章作业2①.统计学生成绩大于等于90分为A;小于90且大于等于80为B;小于80且大于等于70为C;小于70且大于等于60为D;小于60为E。输入在第一行中给出一个正整数N(<1000),即学生人数;第二行中给出N个学生的百分制成绩,其间以空格分隔。在一行中输出A、B、C、D、E对应的五分制成绩的人数分布,数字间以空格分隔,行末不得有多余空格。77754927360656910231#include<stdio.h>intmain(){intn,score;inti;intA,B,C,D,E;A二B二C二D=E=0;scanf("%d",&n);for(i=1;i<=n;i++){scanf("%d”,&score);if(score>=90)A++;elseif(score>=80)B++;elseif(score>=70)C++;elseif(score>=60)D++;elseE++;|}printf("%d%d%d%d%d",A,B,C,D,E);return0;}②计算油费。(本题编程不完全对)现在90号汽油6.95元/升、93号汽油7.44元/升、97号汽油7.93元/升。为吸引顾客,某自动加油站推出了"自助服务"和"协助服务”两个服务等级,分别可得到5%和3%的折扣。本题要求编写程序,根据输入顾客的加油量a,汽油品种b(90、93或97)和服务类型c(m-自助,e-协助),计算并输出应付款。4097m301.34#include<stdio.h>intmain(){floatr1,r2;inta,b;charc;doubles;scanf("%d%d%c",&a,&b,&c);switch(b){case90:r1=6.95;break;case93:r1=7.44;break;case97:r1=7.93;break;}switch(c)(case'm':r2=0.95;break;case'e':r2=0.97;break;I}s=a*r1*r2;printf("%.2lf',s);return0;}③分别是薯片(crisps)、爆米花(popcorn)、巧克力(chocolate)和可乐(cola),单价分别对应为3.0元/公斤、2.5元/公斤、4.0元/公斤、3.5元/份。首先在屏幕上显示以下菜单:crispspopcornchocolatecola[0]exit用户可以输入编号1~4查询对应食品的单价。当连续查询次数超过5次时,程序应自动退出查询;不到5次而用户输入0即退出;输入其他编号,显示价格为0首先在屏幕上显示菜单。然后对应用户的每个输入,在一行中按格式“price二价格”输出查询结果,其中价格保留一位小数。当用户连续查询次数超过5次、或主动输入0时,程序结束,显示“Thanks”1702crispspopcornchocolatecola[0]exitprice=3.0price=0.0Thanks【程序】#include<stdio.h>intmain()(inti,a;printf("[1]crisps\n""[2]popcorn\n""[3]chocolate\n""[4]cola\n""[0]exit\n");for(i=1;i<=5;i++){scanf("%d",&a);if(a==0)break;elseswitch(a){printf("price=3.0\n");break;printf("price=2.5\n");break;printf("price=4.0\n");break;printf("price=3.5\n");break;default:printf("price=0.0\n");break;}}printf("Thanks'n");return0;}④读入一个实数、一个操作符(仅限于+-*/)、一个实数,求该表达式的值。若除数为0,输出"Thedivisoris0#include<stdio.h>intmain(){inta,b;charop;doublec;scanf("%d%c%d",&a,&op,&b);if(b==0)switch(op){case'+':c=a+b;printf("%.2f',c);break;case'-':c=a-b;printf("%.2f',c);break;case'*':c=a*b;printf("%.2f',c);break;case'/':printf("Thedivisoris0.");break;}elseswitch(op){case'+':c=a+b;printf("%.2f",c);break;case'-':c=a-b;printf("%.2f',c);break;case'*':c=a*b;printf("%.2f',c);break;case'/':c=1.0*a/b;printf("%.2f",c);break;}return0;}第四章作业3①.有重复,本题略②对于给定的正整数N,求它的位数及其各位数字之和32136#include<stdio.h>intmain(){intn,h,i=0,sum=0;scanf("%d",&n);do{h=n%10;n/=10;sum+=h;i++;|}while(n>0);printf("%d%d",i,sum);return0;}③找出给定一系列整数中的最小值。输入在一行中首先给出一个正整数n,之后是n个整数,其间以空格分隔。在一行中按照“min最小值”的方&式输出n个整数中的最小值。4-2-1231000min=-123#include<stdio.h>intmain(){intn,i,m,min;scanf("%d",&n);scanf("%d",&m);min=m;for(i=1;i<n;i++){scanf("%d",&m);-Iif(min>m)min=m;}printf("min=%d",min);return0;}④输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出fu字。十个数字对应的拼音如下:0:ling1:yi2:er3:san4:si5:wu6:liu7:qi8:ba9:jiu-600fuliulingling#include<stdio.h>intmain(void){charc;c=getchar();while(c!='n'){if(c=='-')printf("fu");elseif(c=='0')printf("ling");elseif(c=='1')printf("yi");Ielseif(c=='2')printf("er");elseif(c=='3')printf("san");Ielseif(c=='4')printf("si");elseif(c=='5')printf("wu");elseif(c=='6')printf("liu");Ielseif(c=='7')printf("qi");elseif(c=='8')printf("ba");elseif(c=='9')printf("jiu");c=getchar();if(c!='\n')printf("");}return0;}第五章作业1⑤计算阶乘和对于给定的正整数N,需要你计算S=1!+2!+3!+...+N!#include<stdio.h>intmain(){inti,j;intn,sum=0;inttemp=1;scanf("%d",&n);for(i=1;i<=n;i++){for(j=1;j<=i;j++)temp*=j;sum+=temp;temp=1;}printf("%d",sum);)②判断素数输入在第一行给出一个正整数N(<10),随后N行,每行给出一个小于231的需要判断的正整数。211111YesNo#include<stdio.h>#include<math.h>intmain(){inta,i;longb;inth;intisprime;scanf("%d",&a);for(i=1;i<=a;i++){isprime=1;scanf("%ld",&b);if(b<=1)isprime=0;for(h=2;h<=sqrt(b);h++){if(b%h==0){isprime=0;break;})if(isprime==1)printf("Yes'n");Ielseprintf("No'n");}return0;}③素数和编程求100〜200之间全部素数的和。直接输出结果,没有任何附加格式字符。#include<stdio.h>intmain(){intx;intsum=0;x=6;for(x=100;x<200;x++){inti;intisPrime=1;for(i=2;i<x;i++){if(x%i==0){isPrime=0;break;}}if(isPrime==1){sum+=x;}}printf("%d",sum);return0;}④N元钱买N只鸡,公鸡每只5元,母鸡每只3元,小鸡1元3只,N元钱必须刚好买N只鸡,而且鸡必须整只买,不能劈开买。有几种买法呢?这就是N鸡问题。在一行中输入一个正整数N。(N<500)在一行中输出两个整数cs,中间用一个空格隔开,表示N元钱买N只鸡共有c种买法,且所有买法的公鸡数量之和是s。#include<stdio.h>intmain(){intn,c=0,s=0;intgong,mu,xiao;scanf("%d",&n);for(gong=0;gong<=n/5;gong++){for(mu=0;mu<=n/3;mu++){xiao=n-gong-mu;if(gong*5+mu*3+xiao/3==n&&xiao%3==0){c++;s+=gong;}}}if(c==0)printf("0-1");""Ielseprintf("%d%d",c,s);return0;}第五章作业2①打印倒直角三角形图形$$$$$$$$$$$$$$$第一行图形符号前面有1个空格。以倒直角三角形的格式输出5行由"$”符号构成的三角图形,每个"$"符号占固定1位,第一行第一个"$”符号前有1个空格。#include<stdio.h>main()(inti,j;for(i=1;i<=5;i++)(for(j=1;j<=i;j++)printf("");for(j=1;j<=6-i;j++)printf("$");printf("\n");}}②本题要求对任意给定的一位正整数N,输出从1*1到N*N的部分口诀表。输出下三角N*N部分口诀表,其中等号右边数字占4位、左对齐。#include<stdio.h>intmain()(inti,j,N;|scanf("%d",&N);for(i=1;i<=N;i++)-I(for(j=1;j<i+1;j++)-I(printf("%d*%d=%-4d",j,i,j*i);I}printf("\n");}}③最大公约数和最小公倍数输入在一行中给出两个正整数M和N在一行中顺序输出M和N的最大公约数和最小公倍数,两数字间以1空格分隔。511292732044#include<stdio.h>intmain()(inta,b,c,m,n;scanf("%d%d",&m,&n);if(m<n)(c=m;m=n;n=c;}a=m;b=n;while(b!=0)(c=a%b;a=b;b=c;}printf("%d%d",a,m*n/a);return0;}④求平方与倒数序列的部分和t+PHiW也由工11/m।+1产+L/(m+1)+j+n2-l.'n输入在一行中给出两个正整数m和n(mVn)#include<stdio.h>#include<math.h>intmain()(inti,n,m;doublesum;scanf("%d%d",&m,&n);sum=0;for(i=m;i<=n;i++){sum=sum+pow(i,2)+1.0/i;}printf("sum=%.6f',sum);return0;}⑤求交错序列前N项和计算交错序列1-2/3+3/5-4/7+5/9-6/11+...的前N项之和#include<stdio.h>intmain(){intfm=1,N,b=1;doubleitem,sum=0,i;scanf("%d",&N);Ifor(i=1.0;i<=N;i++){|item=b*(i/fm);sum=sum+item;b二-b;fm=fm+2;}printf("%.3f\n",sum);return0;}⑥近似求PI本题要求编写程序,根据下式求K的近似值,直到最后一项小于给定精度eps。1,11,21,'J!.」2-1335十3注7丁3-5(2i+1)scanf("%le",&eps);PI二近似值1E-5PI=3.14158#include<stdio.h>intmain(){doubleeps,i,sum=1,a=1,b=1,c=1;scanf("%le",&eps);for(i=1;c>=eps;i++){a=a*i;b=b*(2*i+1);c=1.0*a/b;sum+=c;}printf("PI二%.5f',sum*2);Ireturn0;}第五章作业3(复习课)①自如,归际却力冶口嵌。//nEMEKt)00口般-1=3.23-1=Ttf&esssi.按从小到大的顺序输出所有不超过2n-1的梅森数,每行一个如果完全没有,则输出"None"6输出样例:37乳#include<stdio.h>#include<math.h>intmain(){inti,n,j;intb=0,t=0;scanf("%d",&n);if(n==1)printf("None");for(尸2;j<=n;j++){b=pow(2,j)-1;for(i=2;i<b;i++)-I{if(b%i==0){t=1;break;}}if(t==0)printf("%d\n",b);t=0;}return0;}②一只猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半加一个。到第N天早上想再吃时,见只剩下一个桃子了。问:第一天共摘了多少个桃子?#include<stdio.h>intmain(){inti,n;intsum=1;scanf("%d",&n);for(i=1;i<n;i++){sum=(sum+1)*2;}printf("%d",sum);}③皮球从某给定高度自由落下,触地后反弹到原高度的一半,再落下,再反弹,……,如此反复。问皮球在第n次落地时,在空中一共经过多少距离?第n次反弹的高度是多少?33594.91.0#include<stdio.h>intmain(){intn,i;doublea,h;doublel=0.0;scanf("%lf%d",&a,&n);Il=1.0*a;if(n!=0){if(n==1){printf("%.1f%.1f',a,a/2.0);}else{for(i=1;i<n;i++){a/=2.0;l+=a*2;h=a;}}printf("%.1f%.1f',l,h/2.0);I}elseprintf("0.00.0");}④假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算。输入在一行中给出一个四则运算算式,没有空格,且至少有一个操作数。遇等号"="说明输入结束。在一行中输出算式的运算结果,或者如果除法分母为0或有非法运算符,则输出错误信息'ERROR'。1+2*10-10/2=10#include<stdio.h>intmain(){inta,b,c,flag=0;charch;scanf("%d",&a);while((ch=getchar())!='='){scanf("%d",&b);if((ch=='/')&&(b==0)){flag=1;break;}switch(ch){case'+':a=a+b;break;case'-':a=a-b;break;case'*':a=a*b;break;Icase'/':a=a/b;break;default:flag=1;break;}if(flag)break;}if(flag){printf("ERROR");}else{printf("%d",a);}return0;}第六章作业1①本题要求从输入的N个整数中查找给定的X。如果找到,输出X的位置(从0开始数);如果没有找到,输出“NotFound”57357192#include<stdio.h>intmain(){intn,x,i;intflag=0;scanf("%d%d",&n,&x);inta[n];for(i=0;i<n;i++){scanf("%d”,&a[i]);if(a[i]==x)(printf("%d\n",i);flag=1;}}if(flag==0)printf("NotFound");return0;}②求最大值及其下标找出给定的n个数中的最大值及其对应的最小下标(下标从0开始)#include<stdio.h>intmain()(intn,i,j;inta[10];scanf("%d",&n);for(i=0;i<n;i++)-Iscanf("%d",&a[i]);j=0;|for(i=1;i<n;i++)if(a[i]>a[j])j=i;printf("%d%d",a[j],j);return0;}③输出数组元素对顺序读入的n个整数,顺次计算后项减前项之差,并按每行三个元素的格式输出结果。105171463642850100-467-830-32242250#include<stdio.h>intmain()(intn,i;scanf("%d",&n);inta[n];intc[n-1];for(i=0;i<n;i++){scanf("%d”,&a[i]);}for(i=0;i<n-1;i++){c[i]=a[i+1]-a[i];}for(i=0;i<n-1;i++){printf("%d",c[i]);if((i+1)%3==0){printf("\n");}elseif(i+2<n){printf("");}}return0;}④求a[10]中素数平均值输入10个正整数到a数组中,求a数组中素数的平均值。#include<stdio.h>intmain(){inta[10];inti,c=0,sum=0;intl;doubleh=0.0;Ifor(i=0;i<10;i++){scanf("%d”,&a[i]);if(a[i]==1){a[i]=0;c++;}for(l=2;l<a[i];l++){if(a[i]%l==0){a[i]=0;]c++;}}sum+=a[i];}if(c==10){h=0;}elseh=1.0*sum/(10-c);printf("%.2f",h);}测试值12345678904.25第六章作业2①以矩阵的形式输出二维数组本题要求编写程序,先对一个mXn的二维数组赋值,数组元素的值为其行下标和列下标之和,再按照矩阵的形式输出该二维数组。34TOC\o"1-5"\h\z01231234345#include<stdio.h>intmain(){inta[6][6];inti,j;intm,n;scanf("%d%d”,&m,&n);for(i=0;i<m;i++){for(j=0;j<n;j++){a[i][j]=i+j;printf("%4d",a[i][j]);}printf("\n");}}②求矩阵各行元素之和求一个给定的mXn矩阵各行元素之和输入第一行给出两个正整数m和n(1vm,n46)。随后m行,每行名^出n个整数,其间以空格分隔。231-83129-715#include<stdio.h>intmain(){intn=0,m=0,i=0,j=0,b=0;scanf("%d%d",&n,&m);inta[n][m];for(i=0;i<n;i++){for(j=0;j<m;j++){scanf("%d”,&a[i][j]);}}for(i=0;i<n;i++){for(j=0;j<m;j++){b=b+a[i][j];}printf("%d\n",b);b=0;}return0;}③方阵左下三角元素的和输入一个4X4数组,求一个4X4数组左下三角(包括主又^角线)元素的和。123456789123456746#include<stdio.h>intmain(){inta[4][4];inti,j;intsum=0;for(i=0;i<4;i++){for(j=0;j<4;j++){scanf("%d",&a[i][j]);}}for(i=0;i<4;i++){for(j=0;j<i+1;j++){|sum+=a[i][j];}}printf("%d",sum);}④将一个3X3矩阵转置(即行和列互换)TOC\o"1-5"\h\z23456789475869#include<stdio.h>intmain(void){inti,j,b;]inta[3][3];for(i=0;i<3;i++){for(j=0;j<3;j++){scanf("%d",&a[i][j]);))for(i=0;i<3;i++){for(j=0;j<3;j++){b=a[i][j];a[i][j]=a[j][i];a[j][i]=b;|))for(i=0;i<3;i++){for(j=0;j<3;j++){printf("%4d",a[j][i]);)printf("\n");)return0;)第六章作业3①再Q皆工虹片不布锅:仃「丁’EH—n;不用元Q年闻由,炉।5共泣*r,JKJt<=-fi-出工•仔箝出;上-#include<stdio.h>doublefact(intn);intmain(void){inti,n,m;doubleresult;scanf("%d%d",&m,&n);result=1;for(i=0;i<=n;i++){result=fact(n)/(fact(m)*fact(n-m));)printf("result=%.0f,result);return0;)doublefact(intn){inti;doublet;t=1;for(i=1;i<=n;i++){t=t*i;)returnt;)7result=21②要求调用函数f(n)计算n+(n+1)+…+(2n-1)aum-1-I力+*—+4小一旧」「一面jj#include<stdio.h>doublef(intn){intb=0;inti;for(i=n;i<=2*n-1;i++){b+=i;)returnb;)intmain(){doublesum=0;inti,n;scanf("%d",&n);for(i=1;i<=n;i++){sum+=1.0/f(i);}printf("sum=%.6f',sum);}③求n以内最大的k个素数以及它们的和素数1+素数2+…+素数k=总和值100010997+991+983+977+971+967+953+947+941+937=9664I#include<stdio.h>intf(intn){inti;intisprime=1;for(i=2;i<n-1;i++){-Iif(n%i==0){isprime=0;break;}}returnisprime;}intmain(){inti,sum=0,n,k,c=0;scanf("%d%d",&n,&k);for(i=n;i>=2;i--){}if(f(i)){intfib(intn)if(i<2){break;}{if(k>0){intm=1,h=1,i=1;if(c!=0)printf("+");ints;printf("%d",i);if(n<=2)sum+=i;return1;k--;elsec=1;}for(;i<=n-2;i++)}{}s=m+h;printf("二%d",sum);m二h;return0;h二s;}}returns;弟八早作业4}①③显示菱形输入:5$t(ar下下"•野三朴,、,.****:tirp,r>「于$#include<stdio.h>$$$$$#include<math.h>$$$doublefuncos(doublee,doublex){$doubletmp1=1,tmp2=1,tmp3=1,sum=1;#include<stdio.h>inti,k;voidlin(intn,charch)k=-1;{inti,j,k;for(i=2;tmp1>e;i+=2){for(i=0;i<n/2;i++){tmp2=tmp2*x*x;for(j=0;j<n/2-i;j++){tmp3=tmp3*i*(i-1);printf("");sum=sum+k*tmp2/tmp3;}tmp1=tmp2/tmp3;for(k=0;k<2*i+1;k++){k=-k;printf("%c",ch);}}returnsum;printf("\n");}}②本题要求实现求Fabonacci数列项的函数。所谓Fibonacci数列就是满足任一for(i=0;i<n/2+1;i++){项数字是前两项的和(最开始两项均定义为1)的数列。for(j=0;j<i;j++){#include<stdio.h>printf("");intfib(intn);}intmain()for(k=0;k<n-2*i;k++){{printf("%c",ch);intn;}scanf("%d",&n);printf("\n");printf("%d\n",fib(n));}return0;return;)intmain(){intn;charch;scanf("%d%c",&n,&ch);|if(n<=0){printf("None'n");|}elseif(n%2==0){|printf("Error\n");}else{lin(n,ch);}return0;}④圆形体体积计算器*■怦鱼街1--,if〉.小“是m-ElSfV;T产比口中典寸•拜h工彳.此七察,富JfiHWLIrn=21;ihB«U2-CjUi«#rrXdHt«3tlirr-tiirPleaseerltryoMTcuwa'd:#include<stdio.h>#include<math.h>intmain(){inti,j,num;doublepi=3.1415926535,r,h;|while(1){|printf(T-Ball\n2-Cylinder\n3-Cone\nother-Exit\nPleaseenteryourcommand:\n");|scanf("%d”,&num);|switch(num){|case1:{|printf("Pleaseentertheradius:\n");TOC\o"1-5"\h\zscanf("%lf',&r);|printf("%.2lf\n",4.0/3*pi*pow(r,3));break;}|case2:{printf("Pleaseentertheradiusandtheheight:\n");scanf("%lf%lf",&r,&h);|printf("%.2lf\n",pi*pow(r,2)*h);|break;}|case3:{printf("Pleaseentertheradiusandtheheight:\n");scanf("%lf%lf",&r,&h);|printf("%.2lf\n",1.0/3*pi*pow(r,2)*h);|break;}defaultreturn0;}|}return0;}第七章作业1①进入最后决赛的是10个同学,随着一道道题目的出示,有时是1号选手得分,有时是5号选手得分,每次答对者得10分,最后结果如何呢?第一行有十个整数,表示十位同学的初始分。第二行一个整数n,表示有n道题竞赛。接下去有n行,每行有一个数字x,x表示本次可以加分的选手序号(每次答对者得10分1000010100001031101TOC\o"1-5"\h\z30000101000020|#include<stdio.h>intmain(){inta[10],i;|for(i=0;i<10;i++){|scanf("%d”,&a[i]);|}intn,k;scanf("%d",&n);|for(i=0;i<n;i++){|scanf("%d",&k);|a[k-1]=a[k-1]+10;|}for(i=0;i<9;i++){|printf("%d",a[i]);|}printf("%d",a[9]);|return0;}②找出含有10个元素一维数组中的最大值和最小值,并互换这两个数的位置输入祥州I:I-11194I-91T1颖出样例:#include<stdio.h>intmain(){inta[10];|inti,max,min;inth=0,j=0;for(i=0;i<10;i++){|scanf("%d”,&a[i]);}max=a[0];min=a[0];for(i=0;i<10;i++){if(a[i]>max){max=a[i];h=i;}if(a[i]<min){min=a[i];j=i;}|}printf("max=%d,mi

温馨提示

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

评论

0/150

提交评论