2022年C语言上机例题 .pdf
《2022年C语言上机例题 .pdf》由会员分享,可在线阅读,更多相关《2022年C语言上机例题 .pdf(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C 语言上机程序题全解13-209 宿舍1 /vc1 /prog1.cpp /设计一个程序,从键盘输入三个整数,按由小到大的顺序输出。#include main() int a,b,c,temp; scanf(%d%d%d,&a,&b,&c); if(ab) temp=a; a=b; b=temp; if(bc) temp=b; b=c; c=temp; if(ac) temp=a; a=c; c=temp; printf(%d %d %dn,a,b,c); /vc1 /prog2.cpp /求 1+3+5+.+95+97+99 的和。#include main() int i,s=0; fo
2、r(i=1;i100;i=i+2) s+=i; printf(%d,s); /vc1 /prog3.cpp /写一个函数,从键盘输入一个整数,如果该整数为素数,则输出“ 此整数为素数 ” ,否则输出 “ 整数非素数 ” 。 (注:要求从主函数输入整数)#include int fun(int m) int i,j=1; for(i=2;i=m/2;i+) if(!(m%i) j=0;break; else j=1; return j; main() int m; while(1) scanf(%d,&m); if(fun(m) printf( 此整数为素数 ); else printf( 整数
3、非素数 ); /vc2 /prog1.cpp /从键盘输入10 个整数,保存在一个数组中,将这 10 个数逆序输出, 然后求这10 个数的和然后输出。#include main() int a10,i,s=0; for(i=0;i=0;i-) printf(%d ,ai); printf(n%d,s); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 17 页 - - - - - - - - - C 语言上机程序题全解13-209 宿舍2 /vc2 /prog2.cpp
4、/输入 N 个国家的英文名,要求按字母的先后顺序排列,并按照顺序输出。#include #include void main() char a100100=0,b100=0; int n,i,j; for(n=0;n100;n+) gets(an); if(an0=0) break; for(i=1;i=n;i+) for(j=0;jn-i;j+) if(strcmp(aj,aj+1) strcpy(b,aj); strcpy(aj,aj+1); strcpy(aj+1,b); for(i=0;in;i+) puts(ai); /vc2 /prog2.cpp /输入 N 个国家的英文名,要求按
5、字母的先后顺序排列,并按照顺序输出。#include #include void main() char a100100=0,b100=0; int n,i,j; for(n=0;n100;n+) gets(an); if(an0=0) break; for(i=1;in;i+) for(j=0;j0) strcpy(b,aj); strcpy(aj,aj+1); strcpy(aj+1,b); for(i=0;in;i+) puts(ai); /vc2 /prog3.cpp /* 某年级共有4 个班,每班各有30 名学生,有 6 个科目的考试成绩,要求输出每门课程最高分的学生、学号和姓名,
6、并计算各班每个学生的平均成绩并输出。 */ #include #define cla 4 #define stu 30 #define sub 6 main() int i,j,k,m,n,h; float aclastusub,aveclastu,t,max; for(i=0;icla;i+) for(j=0;jstu;j+) t=0; for(k=0;ksub;k+) printf( 请输入第 %d 个班学 号 为 %d的 学 生 的 第 %d科 的 成 绩n,i+1,j+1,k+1); scanf(%f,&aijk); t=t+aijk; 名师资料总结 - - -精品资料欢迎下载 - -
7、 - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 17 页 - - - - - - - - - C 语言上机程序题全解13-209 宿舍3 aveij=t/sub; for(k=0;ksub;k+) max=0.0; for(i=0;icla;i+) for(j=0;jmax) max=aijk; m=i,n=j,h=k; printf( 第 %d 科成绩 的最高 分是第 %d个 班 学 号 为 %d的 人 , 成 绩为%f,h+1,m+1,n+1,max); for(i=0;icla;i+) for(j=0;jstu;
8、j+) printf( 第%d 班学号为 %d 的学生的平均分为 %f,i+1,j+1,aveij); /vc3 /prog1.cpp /求从键盘上输入的10 个数据 (实数) 中的最大值,并求和。#include main() int a10,i,m=0,s=0; for(i=0;i10;i+) scanf(%d,&ai); if(mai) m=ai; s+=ai; printf(最大值是%dn总和是%dn,m,s); /vc3 /prog2.cpp /给出三角形的三边A,B,C,求三角形的面积。 (应先判断三边是否构成三角形)#include #include int check(floa
9、t a,float b,float c) int j; if(a+bc)&(a-bc)&(b-ac) 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(%fn,s); else printf( 不能构成三角形); /vc3 /prog3.cpp / 编写程序求一个字符串的第n 个字符开始、长度为m 的子串#include main() char a100,b1
10、00=0; int m,n,i,j; gets(a); printf( 请输入首位数,位数n); scanf(%d%d,&m,&n); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 17 页 - - - - - - - - - C 语言上机程序题全解13-209 宿舍4 for(i=m-1,j=0;in+m-1;i+,j+) bj=ai; puts(b); /vc4 /prog1.cpp /猜数游戏,假如设定一个整数m=123,然后让其他人从键盘上猜该数字,如果猜对,输
11、 出 “RUGHT” , 如 果 猜 错 , 则 输 出“ WRONG”,并且指出设定的数字比输入的数字大还是小#include main() int m=123,a; while(1) printf( 请输入您的猜测:n); scanf(%d,&a); if(a=m) printf(RIGHT); break; else printf(WRONG); if(am) printf(n该数字比您输入的小! ); else printf(n该数字比您输入的大! ); /vc4 /prog2.cpp /编写程序,用于统计从键盘输入的字符串中的元音字母的个数。#include #include mai
12、n() char a100; int i,s=0; gets(a); for(i=0;istrlen(a);i+) if(ai=a|ai=e|ai=i|ai=o|ai=u|ai=A|ai=E|ai=I|ai=O|ai=U) s+; printf(%d,s); /vc4 /prog3.cpp /编写程序求1-100 中所有同构数的个数 (一个自然数的平方的末几位与该数相同时,该数就为同构数,如252=625)#include 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
13、,i); j+; printf(n%d,j); /vc5 /prog1.cpp /从键盘接受一个整数X,判断 X 是否为含有因子 7 的整数,如是,则输出“YES ” ,否则输出 “NO ”#include main() int x; scanf(%d,&x); if(x%7|x=0) printf(NO); else 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 17 页 - - - - - - - - - C 语言上机程序题全解13-209 宿舍5 printf(Y
14、ES); /vc5 /prog2.cpp /编写一个密码检测的程序,在执行程序时,要求用户输入密码(标准密码自己预先设定) ,然后通过字符串比较函数比较输入密码和标准密码是否相等,若当等,则显示 “ 口令正确 ” ,并转去执行后续程序,若不想等,重新输入,3 次都不相等则终止程序的执行。要求自己编写一个字符串比较函数,而不使用系统的strcmp 函数。#include #include #include int cmp(char a,char b) int i,j,n; i=strlen(a)strlen(b)?strlen(a):strlen(b); for(n=0;ni;n+) if(an
15、=bn) j=1; else j=0; return j; main() char a100,b100; int i; printf( 请设定密码: n); gets(a); system(CLS); system(PAUSE); for(i=0;i3;i+) printf( 请输入密码: n); gets(b); if(cmp(a,b) printf( 口令正确! ); break; else printf( 口令错误!您还有%d次机会! ,2-i); /vc5 /prog3.cpp /编写实现求1!+2!+.+10!. #include int fun(int n) long i,s=1;
16、 for(i=1;i=n;i+) s*=i; return s; main() int i,n=0; for(i=1;i=10;i+) n+=fun(i); printf(1!+2!+.+10!=%d,n); /vc6 /prog1.cpp /编写程序,能对一给定的3*4 的矩阵,求出其中的最大元素之及所在的行列号。#include main() int a34=23,4,15,98,122,-3441,29,33,123,1,-99,21;/ 这里自己修改int i,j,s=a00,m=0,n=0; for(i=0;i3;i+) for(j=0;j4;j+) printf(%dt,aij);
17、 printf(n); for(i=0;i3;i+) for(j=0;j4;j+) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 17 页 - - - - - - - - - C 语言上机程序题全解13-209 宿舍6 if(saij) s=aij,m=i,n=j; printf( 最大元素是%d,位于第%d 行第%d 列,s,m+1,n+1); /vc6 /prog2.cpp /求 2000 中含有 5 的因子的个数。#include main() int i,j,k
18、,m,s=0; for(i=1;i=2000;i+) if(2000%i=0) m=i; for(j=0;j3;j+) if(m%10=5) s+;break; else m=m/10; printf(%d,s); /vc6 /prog3.cpp /求任意一个小于65535 的正整数的逆序数,并判断该数是否为回文数。#include #include main() char a100,b100=0; int i,m; printf( 请输入一个小于65535 的正整数n); gets(a); m=strlen(a); for(i=0;im;i+) bm-i-1=ai; puts(b); if(
19、strcmp(a,b)=0) printf( 该数是回文数 n); else printf( 该数不是回文数n); /vc7 /prog1.cpp /给出一个不多于5 位的正整数,要求:求出其位数, 分别打印每一位数字,最后按逆序打印出这个正整数#include #include main() char a100,b100=0; int i,m; printf( 请输入一个小于5 位的正整数n); gets(a); m=strlen(a); for(i=0;im;i+) printf(%c ,ai); bm-i-1=ai; puts(b); /vc7 /prog2.cpp /求一个 4 行 4
20、 列矩阵主对角线元素之和。#include main() int i,j,m=0,a44=1,23,7,-12,56,1,12,-88,34,177,1,46,14,56,-89,1; for(i=0;i4;i+) for(j=0;j4;j+) printf(%dt,aij); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 17 页 - - - - - - - - - C 语言上机程序题全解13-209 宿舍7 if(i=j) m+=aij; printf(n); pr
21、intf( 主对角线元素之和是%dn,m); /vc7 /prog3.cpp /编写一个程序,判断从键盘输入的两个字符串是否相同,若相同则输出“ 字符串相同” ,否则输出 “ 字符串不同 ” 。#include #include main() char a100,b100; printf( 请输入字符串1:n); gets(a); printf( 请输入字符串2:n); gets(b); if(strcmp(a,b)=0) printf( 字符串相同 !); else printf( 字符串不同 !); /vc8 /prog1.cpp /输出 100-200 之间,能被3 整除,但是不能被 7
22、 整除的数。#include main() int i; for(i=100;i=200;i+) if(i%3=0&i%7!=0) printf(%dn,i); /vc8 /prog2.cpp /将一个月份数字转换成月份的英文名称. #include main() int i; printf( 请输入月份 (1-12):n); scanf(%d,&i); switch(i) case 1:printf(Januaryn);break; case 2:printf(Februaryn);break; case 3:printf(Marchn);break; case 4:printf(April
23、n);break; case 5:printf(Mayn);break; case 6:printf(Junen);break; case 7:printf(Julyn);break; case 8:printf(Augustn);break; case 9:printf(Septembern);break; case 10:printf(Octoberyn);break; case 11:printf(Novembern);break; case 12:printf(Decembern);break; default:printf(error!n);break; /vc8 /prog3.cp
24、p / 编写一程序,用简单选择排序实现对五个整数的排序 (从小到大 ),排序的思路:首先从n 个整数中选出值最大的,将它交换到第一个元素位置 ,再从剩余的n-1 个整数中选出值最大的整数,将它交换到第二个元素的位置,重复上述操作直到排序成功. #include main() int i,j,temp1,temp2,a5=542,-14,90,-18,83; printf( 排序之前的数组为: ); for(i=0;i5;i+) printf(%d ,ai); for(i=0;i5;i+) temp1=ai; for(j=i;jaj) temp1=aj; aj=ai; 名师资料总结 - - -精
25、品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 17 页 - - - - - - - - - C 语言上机程序题全解13-209 宿舍8 ai=temp1; printf(n 排序后的数组为: ); for(i=0;i5;i+) printf(%d ,ai); /vc9 /prog1.cpp /编写一个程序,实现从键盘输入一组数据,求该组整数的平均值,并将大于平均值的整数输出 . #include main() int a100,i,sum=0,n; double avg; printf( 请输入
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年C语言上机例题 2022 语言 上机 例题
限制150内