大学本科C语言上机考试题 .doc
C语言程序设计上机考试题班级: 姓名: 学号: 使用C语言编写下列程序(20分×5=100分)1、 输入3个整型数据,求出最大数和最小数。#include<stdio.h>int main()int a,b,c,e,d,f,g;printf("请输入三个数n");scanf("%d,%d,%d",&a,&b,&c);d=(a>b?a:b);e=(d>c?d:c);printf("Max is %dn",e);f=(a<b?a:b);g=(f<c?f:c);printf("Min is %dn",g);return 0;2、 编写一个程序完成下列功能:输入一个分数;当分数<60分时,输出E;当60分数<70,输出D; 当70分数<80,输出C; 当80分数<90,输出B;其余分数输出A。#include<stdio.h>int main()float score; char grade; printf("请输入学生成绩:"); scanf("%f",&score);while(score>100|score<0);printf("n输入有误,请输入); scanf("%f",&score);switch(int)(score/10)case 10: case 9:grade='A'break; case 8:grade='B'break; case 7:grade='C'break; case 6:grade='D'break; case 5: case 4: case 3: case 2: case 1: case 0:grade='E'printf("成绩是%5.1f,相应的等级是%cn",);return 0;3、 编写一个四则运算程序,输出计算结果。#include<stdio.h>int main()int c,d,e;float a,b,f;printf("请输入两个数");scanf("%f,%f",&a,&b);c=a+b;d=a-b;e=a*b;f=a/b;printf("加法结果为%dn",c);printf("减法结果为%dn",d);printf("乘法结果为%dn",e);printf("除法结果为%fn",f);return 0;4.100以内的素数从键盘输入一个正整数,判断该整数是否为素数。#include <stdio.h>int main() int n,i; printf("n"); scanf("%d",&n); for (i=2;i<=n-1;i+) if(n%i=0) break; if(i<n) printf("%d is notn",n); else printf("%d isn",n); return 0;第二种#include<stdio.h>int main()int n,k,m;m=0;printf("请输入n=");scanf("%d",&n);for(k=2;k<=n/2;k+)if(n%k=0)m+;if(m)printf("n=%d不是素数!n",n);elseprintf("n=%d是素数!n",n);return 0;5.判断闰年的程序6、 从键盘上输入10个整型数据,倒数排列存储,再倒序输出。#include<stdio.h>int main()int i,a10;for(i=0;i<10;i+)scanf("%d",&ai);for(i=9;i>=0;i-)printf("%5d",ai);printf("n");return 0;7、 编程输入一个字符串,将其中所有大写英文字母改为小写英文字母,所有小写英文字母改为大写英文字母,然后输出。#include<stdio.h>int main()char s100;int i;printf("请输入字符串n");scanf("%s",s);for(i=0;i<100;i+)if('a'<si&&si<'z')si-=32;else if('A'<si&&si<'Z')si+=32;printf("%s",s);return 0;8、 设有一位数组score,内放10名学生成绩,写一个函数,求出平均分、最高分和最低分。#include<stdio.h>float Max=0,Min=0;int main()float average(float array,int n);float ave,score10;int i;printf("Please enter 10 scores:");for(i=0;i<10;i+)scanf("%f",&scorei);ave=average(score,10);printf("Max=%6.2fnmin=%6.2fnaverage=%6.2fn",Max,Min,ave);return 0;float average(float array,int n)int i;float aver,sum=array0;Max=Min=array0;for(i=1;i<n;i+)if(arrayi>Max)Max=arrayi;else if(arrayi<Min)Min=arrayi;sum=sum+arrayi;aver=sum/n;return(aver);9、有一个函数: 写程序,输入x的值输出y的相应值#include<stdio.h>int main()int x,y;printf("输入x");scanf("%d",&x);if(x<1)y=x;printf("x=%3d, y=x=%dn",x,y);else if(x<10)y=2*x-1;printf("x=%d, y=2*x-1=%dn",x,y);elsey=3*x-11;printf("x=%d, y=3*x-11=%dn",x,y);return 0;10、 求n!#include<stdio.h> int main() int i,n; long t=1; i=1; printf("请输入一个数:n"); scanf("%d",&n); while(i<=n) t*=i+; printf("%d!=%ldn",n,t);