湖南科技大学C语言上机题库.docx
- 文档编号:12209171
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:55
- 大小:292.70KB
湖南科技大学C语言上机题库.docx
《湖南科技大学C语言上机题库.docx》由会员分享,可在线阅读,更多相关《湖南科技大学C语言上机题库.docx(55页珍藏版)》请在冰豆网上搜索。
湖南科技大学C语言上机题库
第一套
1、设计一个程序,从键盘输入3个整数,按由大到小的顺序输出。
#include
main()
{
inta,b,c,t;
printf("请输入3个整数(用逗号分开):
");
scanf("%d,%d,%d",&a,&b,&c);
if(a
{
t=a;a=b;b=t;
}
if(b { t=b;b=c;c=t; } if(a { t=a;a=b;b=t; } printf("%d,%d,%d\n",a,b,c); } 2、求1+3+5+7+……+95+97+99的和。 #include main() { intn,sum=0; for(n=1;n<100;) { sum=sum+n; n=n+2; } printf("%d\n",sum); } 3、写一个函数,从键盘输入一个整数,如果该整数为素数,则输出“此整数为素数”,否则输出“整数非素数”。 (要求从主函数输入整数) #include #include main() { intx,n,flag=1; scanf("%d",&x); for(n=2;n<=x-1;n++) if(x%n==0) flag=0; if(flag==1) printf("%d是素数\n",x); else printf("%d不是素数\n",x); } 第二套 4、从键盘输入10个整数,保存在一个数组中,将这10个数逆序输出,然后求出这10个数的和并输出。 #include main() { shorti,a[10],total=0; printf("请连续输入10个整数(空格分开): \n"); for(i=0;i<10;i++) scanf("%d",&a[i]); printf("这10个整数逆序输出得: \n"); for(i=9;i>=0;i--) printf("%5d",a[i]); for(i=0;i<10;i++) total=total+a[i]; printf("\n这10个整数的和为: %d\n",total); } 5、输入n个国家的英文名,要求按字母先后顺序,并按照顺序输出。 #include #include main() { char*nation[]={"China","Russia","France","England","Japan","UnitedStatesOFAmerice","Australia"}; inti,m; voidsort(char*name[],int); m=sizeof(nation)/sizeof(char*); sort(nation,m); for(i=0;i printf("%9s\n",nation[i]); } voidsort(char*name[],intn)/*选择排序*/ { char*t; inti,j,k; for(i=0;i { k=i; for(j=i+1;j if(strcmp(name[k],name[j])>0) k=j;/*第j个元素更小*/ if(k! =i)/*最小元素是该趟的第一个元素,则不需要交换*/ { t=name[i];name[i]=name[k];name[k]=t; } } } #include #include voidmain() { inta,b; charc[5][20],d[20]; for(a=0;a<=4;a++) scanf("%s",c[a]); for(a=0;a<=4;a++) for(b=a;b<=4;b++) { if(c[b][0]<=c[a][0]) { strcpy(d,c[a]); strcpy(c[a],c[b]); strcpy(c[b],d); } } for(a=0;a<=4;a++) printf("%s\n",c[a]); } 6、某年级共有4个班,每班各有30名学生,有6个科目的考试成绩,要求输出每门课程最高分的学生的班级、学号和姓名,并计算各班每个学生的平均成绩并输出。 #include #defineN14 #defineN230 #defineN36 main() { floatscore[N1][N2][N3],studav[N1][N2]; inti,j,k; floatsum; for(i=0;i for(j=0;j for(k=0;k { printf("请输入%d班学号为%d的科目%d成绩" "score[%d][%d][%d]: ",i+1,j+1,k+1,i,j,k); scanf("%f",&score[i][j][k]); } for(i=0;i for(j=0;j { sum=0; for(k=0;k sum=sum+score[i][j][k]; studav[i][j]=sum/N3; printf("%d班学号为%d的学生的平均成绩studav[%d][%d]为: " "%f\n",i+1,j+1,k+1,studav[i][j]); } } 第三套 7、求从键盘上输入10个数据(实数)中的最大值,并求和。 #include main() { floata[10],sum=0; inti,maxi; printf("请输入十个的实数: \n"); for(i=0;i<10;i++) scanf("%f",&a[i]); maxi=0; for(i=1;i<10;i++) { if(a[i]>a[maxi]) maxi=i; } printf("%f\n",a[maxi]); for(i=0;i<10;i++) sum=sum+a[i]; printf("%f\n",sum); } #include main() { floata[10],sum=0,max; inti; printf("请输入十个的实数: \n"); for(i=0;i<10;i++) scanf("%f",&a[i]); max=a[0]; for(i=1;i<10;i++) { if(a[i]>max) max=a[i]; } printf("%f\n",max); for(i=0;i<10;i++) sum=sum+a[i]; printf("%f\n",sum); } 8、给出三角形的三边A、B、C,求三角形的面积。 (先判断三边是否能构成三角形)。 #include #include main() { floata,b,c,area,p; scanf("%f,%f,%f",&a,&b,&c); p=(a+b+c)/2; if(a+b>c&&a+c>b&&b+c>a) { area=sqrt(p*(p-a)*(p-b)*(p-c)); printf("Area=%6.2f\n",area); } elseprintf("Error\n"); } 9、编写程序求一个字符串的第n个字符开始、长度为m的字串。 #include main() { charc[100],s[100]; intn,m,i; printf("请输入一字符串: "); gets(c); printf("n,m的值\n"); scanf("%d,%d",&n,&m); for(i=0;i { s[i]=c[n+i-1]; } printf("%s",s); } 10、 #include main() { intdate; printf("Inputadate: "); scanf("%d",&date); if(date==123) printf("RIGHT\n"); else { printf("WRONG\n"); if(date>123) printf("ItisLARGE\n"); else printf("ItisSMALL\n"); } } 11、 #include main() { charc[50]; inti,n=0; scanf("%s",c); for(i=0;i<50;i++) if(c[i]! ='\0') { if(c[i]=='A')n++; if(c[i]=='a')n++; if(c[i]=='E')n++; if(c[i]=='e')n++; if(c[i]=='I')n++; if(c[i]=='i')n++; if(c[i]=='O')n++; if(c[i]=='o')n++; if(c[i]=='U')n++; if(c[i]=='u')n++; } printf("%d\n",n); } 12、 #include main() { intx; for(x=1;x<=100;x++) if(x*x%10==x||x%100==x) printf("%5d",x); printf("\n"); } 13、 #include main() { inti; printf("请输入一个整数: "); scanf("%d",&i); if(i%7==0) printf("YES"); else printf("NO"); } 14、 #include intstrcmp(charstr1[],charstr2[]) { inti=0; while(str1[i]==str2[i]&&str1[i]! ='\0'&&str2[i]! ='\0') i++; returnstr1[i]-str2[i]; } main() { charstr[20]; intx=0; do { printf("\nEnterpassword: "); gets(str); if(strcmp(str,"12345")) x++; else { printf("\nYouarepass! \n"); break;} }while(x<3); if(x==3) printf("\nYouarefalrure! \n"); } 15、 #include main() { inti,n,sum=0,s; for(n=1;n<=10;n++) { s=1; for(i=1;i<=n;i++) { s=s*i; } sum=sum+s; } printf("%d",sum); } 16、#include main() { inti,j,row=0,colum=0,max; staticinta[3][4]={{1,2,3,4},{9,8,7,6},{10,-10,-4,4}}; max=a[0][0]; for(i=0;i<=2;i++) for(j=0;j<=3;j++) { if(a[i][j]>max) { max=a[i][j]; row=i;colum=j; } } printf("max=%d,row=%d,colum=%d",max,row,colum); } 17、#include main() { inti,n=0; for(i=1;i<=2000;i++) { if(i%5==0) n++; } printf("%d\n",n); } 18、#include main() { longinti,j=0,t,a; printf("输入一个小于65535的正整数: "); scanf("%ld",&i); a=i; do { t=i%10; j=j*10+t; i=i/10; } while(i>0); printf("它的逆序数为: %ld",j); if(j==a) printf("它是回文数"); else printf("它不是回文数"); } 19、#include main() { longintx,y=0; intt,n=0; printf("请输入一个不多于5位数的数: \n"); scanf("%ld",&x); printf("此数的每一位为(由个位开始): \n"); while(x>0) { t=x%10; y=y*10+t; x=x/10; n++; printf("%d\n",t); } printf("此数有%d位\n",n); printf("此数的逆序数为%ld\n",y); } #include voidfun(void) { inta1,a2,a3,a4,a5; longa,b; printf("请您输入一个5位以内的数\n"); scanf("%ld",&a); if(a<99999) { printf("您输入的数在所求范围里面\n"); a1=a/10000; a=a-a1*10000; a2=a/1000; a=a-a2*1000; a3=a/100; a=a-a3*100; a4=a/10; a=a-a4*10; a5=a/1; if(a1! =0) { b=a5*10000+a4*1000+a3*100+a2*10+a1; printf("此数有5位\n"); } elseif(a1==0&&a2! =0) { b=a5*1000+a4*100+a3*10+a2; printf("此数有4位\n"); } elseif(a1==0&&a2==0&&a3! =0) { b=a5*100+a4*10+a3; printf("此数有3位\n"); } elseif(a1==0&&a2==0&&a3==0&&a4! =0) { b=a5*10+a4; printf("此数有2位\n"); } else { b=a5; printf("此数有1位\n"); } printf("这个数按逆向表示为%ld\n",b); } else { printf("您输入的数不在此范围内,请您重新输入: \n"); fun(); } } main() { fun(); } 20、#include main() { inta[4][4],i,j,sum=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<4;j++) { if(i+j==3||i==j) sum=sum+a[i][j]; } } printf("%d",sum); } 21、#include #include main() { longt; chara[100],b[100]; printf("请您分别输入2个字符串\n"); scanf("%s",a); scanf("%s",b); t=strcmp(a,b); if(t==0) printf("您输入的两个字符串相同\n"); else printf("您输入的两个字符串不相同\n"); } 22,#include main() { intn; for(n=100;n<=200;n++) if(n%3==0&&n%7! =0) printf("%d\t",n); } 23、#include main() { intn; printf("请输入一个1-12数字,分别代表着月份: \n"); scanf("%d",&n); switch(n) { case1: printf("您输入的月份是: January\n");break; case2: printf("您输入的月份是: February\n");break; case3: printf("您输入的月份是: March\n");break; case4: printf("您输入的月份是: April\n");break; case5: printf("您输入的月份是: May\n");break; case6: printf("您输入的月份是: June\n");break; case7: printf("您输入的月份是: July\n");break; case8: printf("您输入的月份是: Augest\n");break; case9: printf("您输入的月份是: September\n");break; case10: printf("您输入的月份是: October\n");break; case11: printf("您输入的月份是: November\n");break; case12: printf("您输入的月份是: December\n");break; default: printf("您的输入有误"); } } 24、#include #defineN5 voidsmp_selsesort(intr[],intn)/*简单选择排序*/ { inti,j,t; for(i=0;i for(j=i+1;j if(r[i]>r[j]) { t=r[i]; r[i]=r[j]; r[j]=t; } } main() { inti,a[N]; printf("请输入%d个整数: \n",N); for(i=0;i scanf("%d",&a[i]); smp_selsesort(a,N); printf("排序后的输出为: \n"); for(i=0;i printf("%5d",a[i]); } 25、#include main() { longinta[10],c,s=0; floatb; printf("请您输入十个整数\n"); for(c=0;c<10;c++) scanf("%ld",&a[c]); for(c=0;c<10;c++) s=s+a[c]; b=s*1.0/10; printf("平均值b=%f\n",b); printf("这组数中大于平均值的数为: \n"); for(c=0;c<10;c++) if(a[c]>b) printf("%d\n",a[c]); } 26、#include main() { inta,b,s; for(a=1;a<=9;a++) { for(b=a;b<=9;b++) { s=a*b; printf("%d*%d=%d\t",a,b,s); } printf("\n"); } } 27、#include #include main() { intc,w[2],d=0,t=1,q=0; chara[100],b[10]; printf("请您输入一个主字符串: \n"); scanf("%s",a); printf("请您输入在字符串中多次出现的字符串: \n"); scanf("%s",b); w[0]=strlen(b); w[1]=strlen(a); for(c=0;c { if(a[c]==b[d]) { if(d>=w[0]) d=0; d=d+1; if(a[c+1]==b[d]) t=t+1; else { d=0; t=1; } } else {d=0;t=1;} if(t==w[0]) q=q+1; } printf("您输入的字符%s在主字符串中出现的次数为: \n",b); printf("%d\n",q); } 28、#include voidfun(void) { inta; printf("请您输入您的分数,我们将根据您的分数对其进行评定\n"); scanf("%d",&a); printf("您的分数等级为: \n"); if(a<=100&&a>=90) printf("A\n"); elseif(a<90&&a>=80) printf("B\n")
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 湖南 科技大学 语言 上机 题库
![提示](https://static.bdocx.com/images/bang_tan.gif)