当前位置:文档之家› C语言上机试题答案

C语言上机试题答案

//vc1//prog1.cpp//设计一个程序,从键盘输入三个整数,按由小到大的顺序输出。

#include"stdio.h"main(){int a[3],i,j,t;for(i=0;i<3;i++){scanf("%d",&a[i]);}for(i=0;i<9;i++) /*此处的i可以小于任意一个大于6的整数*/{for(j=0;j<2;j++){if(a[j]>a[j+1])t=a[j],a[j]=a[j+1],a[j+1]=t;}}printf("The three data from small to big is:");for(i=0;i<3;i++)printf("%d ",a[i]);}//vc1//prog2.cpp//求1+3+5+...+95+97+99的和。

#include"stdio.h"main(){int i,sum=0;for(i=1;i<100;i=i+2)sum+=i;printf("1+3+5+....+99=%d\n",sum);}//vc1//prog3.cpp//写一个函数,从键盘输入一个整数,如果该整数为素数,则输出“此整数为素数”,否则输出“整数非素数”。

(注:要求从主函数输入整数)#include"stdio.h"main(){int i,j,k,l=2;printf("输入一个大于3的整数:");scanf("%d",&i);for(j=2;j<i;j++){k=i%j;if(k==0) break;else l++;}if(l==k)printf("这是个素数!!\n");elseprintf("这不是素数!!\n");}//vc2//prog1.cpp//从键盘输入10个整数,保存在一个数组中,将这10个数逆序输出,然后求这10个数的和然后输出。

#include"stdio.h"main(){int a[10],i,sum=0;printf("输入10个整数:");for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=9;i>=0;i--)printf("%d ",a[i]);for(i=0;i<10;i++)sum+=a[i];printf("The total is:%d\n",sum);}//vc2//prog2.cpp//输入N个国家的英文名,要求按字母的先后顺序排列,并按照顺序输出。

#include<stdio.h>#include<string.h>void main(){char a[100][100]={0},b[100]={0};int n,i,j;for(n=0;n<100;n++){gets(a[n]);if(a[n][0]=='0')break;}for(i=1;i<=n;i++)for(j=0;j<n-i;j++){if(strcmp(a[j],a[j+1])){strcpy(b,a[j]);strcpy(a[j],a[j+1]);strcpy(a[j+1],b);}}for(i=0;i<n;i++)puts(a[i]);}//vc2//prog2.cpp//输入N个国家的英文名,要求按字母的先后顺序排列,并按照顺序输出。

#include<stdio.h>#include<string.h>void main(){char a[100][100]={0},b[100]={0};int n,i,j;for(n=0;n<100;n++){gets(a[n]);if(a[n][0]=='0')break;}for(i=1;i<n;i++)for(j=0;j<n-i;j++){if(strcmp(a[j],a[j+1])>0){strcpy(b,a[j]);strcpy(a[j],a[j+1]);strcpy(a[j+1],b);}}for(i=0;i<n;i++)puts(a[i]);}//vc2//prog3.cpp/*某年级共有4个班,每班各有30名学生,有6个科目的考试成绩,要求输出每门课程最高分的学生、学号和姓名,并计算各班每个学生的平均成绩并输出。

*/#include<stdio.h>#define cla 4#define stu 30#define sub 6main(){int i,j,k,m,n,h;float a[cla][stu][sub],ave[cla][stu],t,max;for(i=0;i<cla;i++){for(j=0;j<stu;j++){t=0;for(k=0;k<sub;k++){printf("请输入第%d个班学号为%d的学生的第%d 科的成绩\n",i+1,j+1,k+1);scanf("%f",&a[i][j][k]);t=t+a[i][j][k];}ave[i][j]=t/sub;}}for(k=0;k<sub;k++){max=0.0;for(i=0;i<cla;i++){for(j=0;j<stu;j++){if(a[i][j][k]>max){max=a[i][j][k];m=i,n=j,h=k;}}}printf("第%d科成绩的最高分是第%d个班学号为%d的人,成绩为%f",h+1,m+1,n+1,max);}for(i=0;i<cla;i++){for(j=0;j<stu;j++){printf("第%d班学号为%d的学生的平均分为%f",i+1,j+1,ave[i][j]);}}}//vc3//prog1.cpp//求从键盘上输入的10个数据(实数)中的最大值,并求和。

#include <stdio.h>main(){int a[10],i,m=0,s=0;for(i=0;i<10;i++){scanf("%d",&a[i]);if(m<a[i])m=a[i];s+=a[i];}printf("最大值是%d\n总和是%d\n",m,s);}//vc3//prog2.cpp//给出三角形的三边A,B,C,求三角形的面积。

(应先判断三边是否构成三角形)#include <stdio.h>#include <math.h>int check(float a,float b,float c){int j;if((a+b>c)&&(a-b<c)&&(b-a<c))j=1;else j=0;return j;}main(){float a,b,c;float s,p;scanf("%f%f%f",&a,&b,&c);if(check(a,b,c)){p=(a+b+c)/2;s=sqrt(p*(p-a)*(p-b)*(p-c));printf("%f\n",s);}elseprintf("不能构成三角形");}//vc3//prog3.cpp//编写程序求一个字符串的第n个字符开始、长度为m的子串#include <stdio.h>main(){char a[100],b[100]={'0'};int m,n,i,j;gets(a);printf("请输入首位数,位数\n");scanf("%d%d",&m,&n);for(i=m-1,j=0;i<n+m-1;i++,j++)b[j]=a[i];puts(b);}//vc4//prog1.cpp//猜数游戏,假如设定一个整数m=123,然后让其他人从键盘上猜该数字,如果猜对,输出“RUGHT”,如果猜错,则输出“WRONG”,并且指出设定的数字比输入的数字大还是小#include <stdio.h>main(){int m=123,a;while(1){printf("请输入您的猜测:\n");scanf("%d",&a);if(a==m){printf("RIGHT");break;}else{printf("WRONG");if(a>m)printf("\n该数字比您输入的小!");elseprintf("\n该数字比您输入的大!");}}}//vc4//prog2.cpp//编写程序,用于统计从键盘输入的字符串中的元音字母的个数。

#include <stdio.h>#include <string.h>main(){char a[100];int i,s=0;gets(a);for(i=0;i<strlen(a);i++){if(a[i]=='a'||a[i]=='e'||a[i]=='i'||a[i]=='o'||a[i]=='u'||a[i]=='A'||a[i]=='E'||a[ i]=='I'||a[i]=='O'||a[i]=='U')s++;}printf("%d",s);}//vc4//prog3.cpp//编写程序求1-100中所有同构数的个数(一个自然数的平方的末几位与该数相同时,该数就为同构数,如25^2=625)#include <stdio.h>main(){int i,j=0;for(i=1;i<=100;i++){if((i*i)%1000%100==i||(i*i)%1000%100%10==i){printf("%d ",i);j++;}}printf("\n%d",j);}//vc5//prog1.cpp//从键盘接受一个整数X,判断X是否为含有因子7的整数,如是,则输出“YES”,否则输出“NO”#include <stdio.h>main(){int x;scanf("%d",&x);if(x%7||x==0)printf("NO");elseprintf("YES");}//vc5//prog2.cpp//编写一个密码检测的程序,在执行程序时,要求用户输入密码(标准密码自己预先设定),然后通过字符串比较函数比较输入密码和标准密码是否相等,若当等,则显示“口令正确”,并转去执行后续程序,若不想等,重新输入,3次都不相等则终止程序的执行。

相关主题