1、编程题1.输入2个整数,求两数的平方和并输出。#includestdio.hintmain(void){intta,b,s;printf(pleaseinputa,b:\n);scanf(%d%d”,&a,&b);s=a*a+b*b;printf(theresultis%d\n,s);return0;}2.输入一个圆半径r,当r=0时,计算并输出圆的面积和周长,否则,输出提示信息。#includestdio.h#definePI3.14intmain(void){doubler,area,girth;printf(pleaseinputr:\n);scanf(%lf,&r);if(r=0){area=PI*r*r;girth=2*PI*r;printf(theareais%.2f\n,area);printf(thegirthis%.2f\n,girth);}elseprintf(Inputerror!\n);return0;}3、已知函数y=f(x),编程实现输入一个x值,输出y值。2x+1(x0)y=0(x=0)2x-1(x0)#includestdio.hvoidmain(){intx,y;scanf(“%d”,&x);if(x0)y=2*x+1;elseif(x0)y=2*x-1;elsey=0;printf(“%d”,y);}4.从键盘上输入一个百分制成绩score,按下列原则输出其等级:score≥90,等级为A;80≤score90,等级为B;70≤score80,等级为C;60≤score70,等级为D;score60,等级为E。#includestdio.hvoidmain(){intdata;chargrade;printf(Pleaseenterthescore:);scanf(%d”,&data);switch(data/10){case10:case9:grade=’A’;break;case8:grade=’B’;break;case7:grade=’C’;break;case6:grade=’D’;break;default:grade=’E’;}printf(thegradeis%c”,grade);}5.编一程序每个月根据每个月上网时间计算上网费用,计算方法如下:要求当输入每月上网小时数,显示该月总的上网费用(6分)#includestdio.hvoidmain(){inthour;floatfee;printf(“pleaseinputhour:\n”);scanf(“%d”,&hour);if(hour=10)fee=30;elseif(hour=10&&hour=50)fee=3*hour;elsefee=hour*2.5;printf(“Thetotalfeeis%f”,fee);}6.从键盘输入10个整数,统计其中正数、负数和零的个数,并在屏幕上输出。#includestdio.hvoidmain(){inta,i,p=0,n=0,z=0;printf(pleaseinputnumber);for(i=0;i10;i++){scanf(%d,,&a);if(a0)p++;elseif(a0)n++;elsez++;}printf(正数:%5d,负数:%5d,零:%5d\n,p,n,z);}7、编程序实现求1-10之间的所有数的乘积并输出。#includestdio.hvoidmain(){inti;longsum=1;for(i=1;i=10;i=i+1)sum=sum*i;printf(“thesumofoddis:%ld”,sum);}8.从键盘上输入10个数,求其平均值。#includestdio.hvoidmain(){inta,i,sum=0;floatave;;for(i=0;i10;i++){scanf(%d,&a);sum+=a;}ave=(float)sum/10;printf(ave=%f\n,ave);}9、编程序实现求1-1000之间的所有奇数的和并输出。#includestdio.hvoidmain(){inti,sum=0;for(i=1;i1000;i=i+2)sum=sum+i;printf(“thesumofoddis:%d”,sum);}10.有一个分数序列:2/1,3/2,5/3,8/5,13/8,……编程求这个序列的前20项之和。#includestdio.hvoidmain(){inti,t,n=20;floata=2,b=1,s=0;for(i=1;i=n;i++){s=s+a/b;t=a;a=a+b;b=t;}printf(sum=%6.2f,s);}11.从键盘输入两个数,求出其最大值(要求使用函数完成求最大值,并在主函数中调用该函数)#includestdio.hfloatmax(floatx,floaty);voidmain(){floata,b,m;scanf(%f,%f,&a,&b);m=max(a,b);printf(Maxis%f\n,m);}floatmax(floatx,floaty){if(x=y)returnx;elsereturny;}12.编写程序,其中自定义一函数,用来判断一个整数是否为素数,主函数输入一个数,输出是否为素数。#includemath.h#includestdio.hintIsPrimeNumber(intnumber){inti;if(number=1)return0;for(i=2;isqrt(number);i++){if((number%i)==0)return0;}return1;}voidmain(){intn;printf(“Pleaseinputn:”);scanf(“%d”,&n);if(IsPrimeNumber(n))printf(“\n%disaPrimeNumber”,n);elseprintf(“\n%disnotaPrimeNumber”,n);}13、从键盘输入n个数存放在数组中,将最小值与第一个数交换,输出交换后的n个数。#includestdio.hintmain(void){inti,n,iIndex,temp;inta[10];printf(Entern:);scanf(%d,&n);printf(Enter%dintegers:\n);for(i=0;in;i++)scanf(%d,&a[i]);iIndex=0;for(i=1;in;i++){if(a[i]a[iIndex])iIndex=i;}temp=a[0];a[0]=a[iIndex];a[iIndex]=temp;for(i=0;in;i++)printf(%5d,a[i]);printf(\n);return0;}第二种解法利用函数#includestdio.hintcomp(intarry[],intn){inti,index,temp;printf(为数组赋值:\n);for(i=0;in;i++){scanf(%d,&arry[i]);}for(i=1,index=0;i=n-1;i++){if(arry[i]arry[index]){index=i;}}temp=arry[0];arry[0]=arry[index];arry[index]=temp;for(i=0;in;i++){printf(%d,arry[i]);}return0;}main(){intn;inta[10];printf(为n赋值:\n);scanf(%d,&n);comp(a,n);}14.用数组实现以下功能:输入5个学生成绩,而后求出这些成绩的平均值并显示出来。#includestdio.hvoidmain(){inta[5],s=0;inti;for(i=0;i5;i++)scanf(“%d”,&a[i]);for(i=0;i5;i++)s=s+a[i];printf(“result=%f”,s/5.0);}15、输入一个正整数n(n=6),再输入n×n的矩阵,求其主对角线元素之和及副对角线元素之和并输出。#includestdio.hintmain(void){inti,j,n,sum1=0,sum2=0;inta[6][6];printf(Entern(n=6):);scanf(%d,&n);printf(Enterdata:\n);for(i=0;in;i++)for(j=0;jn;j++){scanf(%d,&a[i][j]);if(i==j)sum1+=a[i][j];if(i+j==n-1)sum2+=a[i][j];}printf(sum1=%d,sum2=%d,sum1,sum2);return0;}16、从键盘输入30名学生的成绩数据,求其中的最高分、最低分和平均分。(提示:用数组存放成绩数据)#includestdio.h#defineM30voidmain(){floatscore[M],max,min,aver;inti;printf(“pleaseinputscore:\n”);for(i=0;iM;i++)scanf(“%f”,&score[i]);max=score[0];min=score[0];aver=score[0];for(i=1;iM;i++){if(maxscore[i])max=score[i];if(minscore[i])min=score[i];aver+=score[i];}printf(“max=%f,min=%f,aver=%f”,max,min,aver/M);}17.将一个有5个元素的数组中的值(整数)按逆序重新存放。例:原来顺序为:8、6、5、4、1,要求改为1、4、5、6、8#defineN5#includestdio.hvoidmain(){inta[N],i,temp;printf(“enterarraya:\n”);for(i=0;iN;i++)scanf(“%d”,&a[i]);for(i=0;iN;i++){temp=a[i];a[i]=a[N-i-1];a[N-i-1]=temp;}printf(“\nNow,arraya:\n”);for(i=0;iN;i++)printf(“%4d”,a[i]);printf(“\n”);}18.从键盘上输入一个2*3的矩阵,将其转秩后形成3*2的矩阵输出。#includestdio.hvoidmain(){inta[2][3],b[3][2],i,j;for(i=0;i2;i++)for(j=0;j3;j++)scanf(“%d”,&a[i][j]);for(i=0;i3;i++)for(j=0;j2;j++)b[i][j]=a[j][i];for(i=0;i3;i++){for(j=0;j2;j++)printf(%5d,b[i][j]);printf(\n”);}}19、从键盘输入10名学生的成绩数据,按成绩从高到低的顺序排列并输出。(提示:用数组存放成绩数据)#includestdio.hvoidmain(){inta[10];inti,j,temp;printf(inputscore:\n);for(i=0;i10;i++)scanf(%d,&a[i]);printf(\n);for(i=1;i10;i++)for(j=0;j9;j++)if(a[j]a[j+1]){temp=a[j];a[j]=a[j+1];a[j+1]=temp;}for(i=0;i10;i++)printf(%d,,a[i]);}20、从键盘上输入一个4*3的整型数组,找出数组中的最小值及其在数组中的下标。#includestdio.hvoidmain(){inta[4][3],i,j,mi