根据老师的要求,我把上次测试的答案汇总了下,将程序写的得到满分的答案给挑了出来,希望大家不要追究版权问题,若有问题,我们私下武力解决问题。
第一题:从键盘输入一个大写字母,要求改用小写字母输出。(这道题老师课堂上讲过,大家都应该没有问题)
#include<stdio.h> int main() {char c;printf("请输入一个大写字母:");c = getchar();if(c>='A' && c<='Z'){c = c + 32;printf("转换后的小写字母为:%c\n",c); } }
第二题: 求ax2+bx+c=0方程的解(第二题班里没有满分,只有四个5分)
#include<stdio.h> #include <math.h>int main(){int a,b,c,i;float x1,x2,p,q;printf("请输入a,b,c 的值:");scanf("%d%d%d",&a,&b,&c);if(a==0)printf("非二元一次方程。\n");else if(b*b-4*a*c==0)printf("有两个相等的实数根%f\n",-1*b/2.0*a);else if(b*b-4*a*c>0){x1=-1*b+sqrt(b*b-4*a*c)/2.0*a;x2=-1*b-sqrt(b*b-4*a*c)/2.0*a;printf("有两个实数根x1=%f x2=%f\n",x1,x2);}else if(b*b-4*a*c<0){p=-1*b/2*a;q=sqrt(-1*(b*b-4*a*c));printf("两个复跟:%f+%fi %f-%fi\n",p,q,p,q);}return 0; }
第三题: 任给三角形的三边,判断该三角形是等边、等腰、直角或一般三角形。
#include<stdio.h> #include <math.h> int main() {float a,b,c,;printf("请输入三角形三边的长:\n");scanf("%f%f%f",&a,&b,&c);if(a+b>c&&a+c>b&&b+c>a){if(a==b && b==c)printf("该三角形为等边三角形!\n");else{if((a==b && b!=c)||(b==c && b!=a)||(a==c && c!=a))printf("该三角形为等腰三角形!\n");else{if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)printf("该三角形为直角三角形!\n");else{printf("该三角形为一般三角形!\n");}}} }else{printf("不能构成三角形\n");}return 0; }
第四题:写程序,判断某一年是否闰年
#include<stdio.h>int main(){int year,leap;printf("随便输入一个年份呗: ");scanf("%d",&year);if(year%4==0){if(year%100==0){if(year%400==0){leap=1;}else{leap=0;}}else{leap=1;}}elseleap=0;if(leap){printf("呦!难得一见的闰年\n");}else{printf("亲它并不是闰年\n");}return 0; }
第六题:打印乘法99表
#include<stdio.h>int main() {int i,j,k;printf("\n\n九九乘法表:\n\n\n");for(i=1;i<=9;i++){for(j=1;j<=i;j++){k=i*j;printf("%dX%d=%-3d ",j,i,k); }printf("\n"); } getchar(); getchar(); }
第七题:.斐波那契数列的前几项是:1、1、2、3、5、 8、13、21、34……编写程序输出该数列的前13项。(每行输出5个数)
#include<stdio.h> int main() {int a,b,c,i;a = 1;b = 1;printf("%7d %7d ",a,b);for(i=3;i<=13;i++){c = a + b;printf("%7d ",c);if(i%5==0)printf("\n");a = b;b = c;}printf("\n") ; }
第八题:计算表达式的值,直到某一项的值小于10-3为止。(第八题大家做了的很少)
#include<stdio.h> int main() {int i;double sum=0,item=0.5;for(i=1;item>0.001;i++){item=1.0/(i*(i+1));sum=sum+item;}printf("%1f\n",sum);return 0; }
第九题:编程序,求一批非零整数中的偶数、奇数的平均值。用零作为终止标记。(这道题班里做对的也不多)
void f9() {int n;int jishusum=0;int oushusum=0;int jishucount=0;int oushucount=0;printf("请输入若干个非零整数(以零为终止标记):");scanf("%d",&n);while(n){if(n%2){jishusum+=n;jishucount++;}else{oushusum+=n;oushucount++;}scanf("%d",&n);}printf("奇数平均值:%f\n",1.0*jishusum/jishucount);printf("偶数平均值:%f\n",1.0*oushusum/oushucount); }
第十题:任意十个数,打印它们中的最大数与最小数。
#include<stdio.h> int main() {int i = 0,a[10];int max = 0,min = 0,sum = 0;printf("请输入你要计算的十个数: "); float pj = 0;;for(i = 0;i < 10;i ++)scanf("%d",a+i);max = min = a[0];for(i = 1;i < 10;i ++)if(max < a[i])max = a[i]; for(i = 1;i < 10;i ++)if(min > a[i])min = a[i];for(i = 0;i < 10;i ++)sum += a[i];pj = sum / 10.0;printf("最大值%d\t最小值%d\t\n",max,min,pj); }
第十一题:找出10~1200之间各位数字之和能被5整除的所有数。
#include<stdio.h> int main() {int i,j,num,sum;int iBegin=10;int iEnd=1200; for(i=iBegin,j=0;i<=iEnd;i++){num=i;sum=0;do{sum+=(num%10);}while((num/=10)>0); if(sum%5==0){j++;printf("%d%c",i,(j%10==0)?'\n':' ');}} }
第十二题:简单图案打印(矩形)
#include<stdio.h>int main() {int i;for(i=1;i<=5;i++){printf("* * * * *\n");} }
第十三题:简单图案打印(平行四边形)
#include<stdio.h> int main() {int i,j;for(i=0;i<5;i++){for(j=0;j<i+5;j++)printf(" ");for(j=0;j<5;j++)printf("*");printf("\n");} }
第十四题:简单图案打印(等腰三角形)
#include<stdio.h> int main() {int i,j;for(i=0;i<5;i++){for(j=0;j<5-i;j++) printf(" ");for(j=0;j<2*i+1;j++)printf("*");printf("\n");}return 0; }
第十五题: 计算和统计旅客运费程序.
#include<stdio.h>int main() {int num=0,total=0;float w,f,t=0;printf("请输入该名旅客行李的重量:");scanf("%f",&w);while(num<=100&&w>0){if(w<=50)f=w*1.5;else f=1.5*50+2.8*(w-50);num++;total+=f;printf("旅客编号为:%d,应付金额为:%.2f元,行李重量为:%.2fkg\n",num,f,w);printf("总收入为:%d元\n",total);printf("请输入该名旅客行李的重量:");scanf("%f",&w);}printf("t=%.2f,num=%d\n",t,num); return 0; }
若是有错误,希望大家能够及时的指出。谢谢!