C语言练习题精选
更新时间:2023-11-10 05:35:01 阅读量: 教育文库 文档下载
- c语言基础编程训练题推荐度:
- 相关推荐
-- C语言练习题精选
1. 从键盘上输入两个整数,求出它们的和 #include \ void main() { int x,y,s; scanf(\ scanf(\ s=x+y;
printf(\ }
2. 已知三角形的底和高,求出三角形的面积。 #include \ void main() { int x,y; float s; x=4; y=5; s=x*y/2.0; printf(\}
3. 从键盘上输入三角形的底和高,求出三角形的面积。 #include \ void main() { int x,y; float s; scanf(\ scanf(\ s=x*y/2.0; printf(\}
4. 已知三角形的三边长,求出三角形的面积。 #include \#include \ void main() {
int a,b,c; float p,s; a=3; b=4; c=5;
p=(a+b+c)/2.0;
s=sqrt(p*(p-a) *(p-b) *(p-c)); printf(\}
5. 已知二元一次方程的三个系数,求方程的一个根。 #include \#include \ void main() { int a,b,c; float root; a=3; b=4; c=5;
root=(-b-sqrt(pow(b,2)-4*a*c))/(2.0*a); printf(\
6. 编程实现符号函数。当x <0 ,则sgn(x)=-1, 当x >0 ,则sgn(x)=+1, 当x =0 ,则sgn(x)=0 #include \void main() { float x; int y;
scanf(\ if (x>0); y=1;
if (x==0); y=0; if (x<0); y=-1;
printf(\或者:
#include \ void main() { float x; int y;
scanf(\ if (x>0); y=1; else if (x==0); y=0; else; y=-1;
printf(\} 或者:
#include \void main() { float x; int y;
scanf(\
y=(x>0) ? 1: (x==0) ? 0 : -1; printf(\}
7. 从键盘上输入数字星期,在屏幕上显示英文星期。 #include \void main() {
float x; scanf(\ switch( x ) {
case 0 :printf(\ case 1 :printf(\ case 2 :printf(\ case 3 :printf(\ case 4 :printf(\ case 5 :printf(\ case 6 :printf(\ default :printf(\不存在这个星期!\\\\n\ } }
8. 从键盘输入三角形的三边长,判断出这三边能否构成三角形 #include \void main() {
int a,b,c; scanf(\ scanf(\ scanf(\
if ((a+b>c) && (a+c)>b) && (b+c)>a } printf(\这三边能构成三角形!\ else
printf(\这三边不能构成三角形!\ }
9. 从键盘输入三个整数,将这三个数按从大到小的顺序排列起来#include \ void main() {
int a,b,c,temp; scanf(\ scanf(\ scanf(\
if ((a>b) && (a>c) && (b>c))
printf(\这三数从大到小的顺序为:%d,%d,%d\ if ((a>b) && (a>c) && (b printf(\这三数从大到小的顺序为:%d,%d,%d\ if ((b>a) && (b>c) && (a>c)) printf(\这三数从大到小的顺序为:%d,%d,%d\ if ((b>a) && (b>c) && (c>a)) printf(\这三数从大到小的顺序为:%d,%d,%d\ if ((c>b) && (c>a) && (a>b)) printf(\这三数从大到小的顺序为:%d,%d,%d\ if ((c>b) && (c>a) && (b>a)) printf(\这三数从大到小的顺序为:%d,%d,%d\} 或者这样写: #include \ void main() { int a,b,c,temp; scanf(\ scanf(\ scanf(\ if (a printf(\这三数从大到小的顺序为:%d,%d,%d\} 10. 从键盘输入二个整数,求出最大值。 #include \void main() { int a,b,temp; scanf(\ scanf(\ if (a>b) temp=a; else temp=b; printf(\这二个整数最大值为%d\ } 11. 从键盘输入三个实数,求出最大值。 #include \void main() { float a,b,c,temp; scanf(\ scanf(\ scanf(\ if (a>b) temp=a; else temp=b; if (temp printf(\这三数最大值为%f\ } 12. 从键盘输入三个整数,在一个程序中既要求出最大值,还要求出最大值。 #include \void main() { int a,b,c,max,min; scanf(\ scanf(\ scanf(\ if (a>b) {max=a; min=b;} else {max=b;min=a;} if (max printf(\这三个整数最大值为:%d,最小值为:%d.\ } 13. 使用for循环编程求出1到100的和 #include \ void main() { int i,s=0; for (i=1;i<=100;i++) s=s+i; printf(\ } 14. 使用当循环编程求出1到100的和 #include \ void main() { int i=1,s=0; while (i<=100) { s=s+i; i++; } printf(\ } 15. 使用当循环编程求出1到100的和 #include \ void main() { int i=1,s=0; do { s=s+i; i++; } while (i<=100); printf(\ } 16. 从键盘输入10个实数,求出最大值 #include \ void main() { int i; float x,max; scanf(\ max=x; for (i=0;i<9;i++) { scanf(\ if (max printf(\这十数中的最大值为:%f\ } 15. 从键盘输入10个整数,求出最小值 #include \ void main() { int i x,min; scanf(\ min=x; for (i=0;i<9;i++) { scanf(\ if (min>x) min=x; } printf(\这十整数中的最小值为:%d\} 16. 从键盘输入10个整数,求出它们的平均值 #include \ void main() { int i a[10],s=0; float aver=0.0; for (i=0;i<10;i++) { scanf(\ s=s+i; } aver=s/10.0; printf(\这十整数中的平均值为:%f\} 17. 编程在屏幕上输出具有7行的正三角形 * *** ***** ******* ********* *********** ************* #include \ void main() { int i , j; for (i=0;i<7;i++) { for (j=0; j<6-i; j++) printf(\ for (j=0; j<=2*i+1; j++) printf(\ printf(\ } } 18. 求出8的阶乘。 #include \ void main() { int i ; long p=1; for (i=1;i<9;i++) p=p*i; printf(\的阶乘值为:%ld\} 19、从键盘输入20个整数,求出不大于90所有数的和 #include \ void main() { int i ,s=0,x; for (i=0;i<20;i++) { scanf(\ if (x<=90) s=s+x; } printf(\不大于90所有数的和:%d\} 20、从键盘输入一个整数,判断这个数是否为素数 #include \ void main() { int i ,x,flag=1; scanf(\ for (i=2;i if ( x % i ==0) { flag=0; break; } } if (flag==1) printf(\该数是素数\ else printf(\该数不是素数\} 21、从键盘输入20个整数,求出它们的和 #include \ void main() { int i ,s=0,x[20]; for (i=0;i<20;i++) { scanf(\ s=s+x[i]; } printf(\所有数的和:%d\} 22、从键盘输入20个整数,求出它们的平均值及比平均值大的数#include \ void main() { int i ,s=0,x[20]; float aver=0.0; for (i=0;i<20;i++) { scanf(\ s=s+x[i]; } aver=s/20.0; printf(\平均为:%f\\\\n\ for (i=0;i<20;i++) { if (x[i]>aver) printf(\比平均大的数为:[%d]=%d\\\\n\ } } 23、已知五个整数3,-5,8,2,9,求出最大值 #include \ void main() { int i ,x[5]={ 3,-5,8,2,9},max; max=x[0]; for (i=0;i<20;i++) if (x[i]>max) max=x[i]; printf(\最大值为:%d\\\\n\} 24、从键盘输入20个整数,求出它们的最小值,并求最小值所在位置#include \ void main() { int i ,min,x[20],pos=0; for (i=0;i<20;i++) scanf(\ min=x[0]; pos=0; for (i=1;i<20;i++) if (x[i]>min) { min=x[i]; pos=i; } printf(\最小值为:%d,最小值位置为:%d\\\\n\} 25、已知五个整数3,-5,8,2,9,按从大到小的顺序排列起来 #include \ void main() { int j ,k, t , b[5]={ 3,-5,8,2,9}; for (j=0; j<4; j++) for (k=j-1; k<5; k++) if (b[j] t= b[j]; b[j]= b[k]; b[k]=t; } for (j=0; j<5; j++) printf(\} 26、从键盘输入10个实数,按从大到小的顺序排列起来 #include \ void main() { int i, j ,k; float b[10],t; for (i=0;i<20;i++) scanf(\ for (j=0; j<9; j++) for (k=j-1; k<10; k++) if (b[j] t= b[j]; b[j]= b[k]; b[k]=t; } for (j=0; j<9; j++) printf(\} 某班有43名学生,某门考试结束后,请按10段统计出各分数段的人数 #include \ void main() { int j , x[43],fragment[12]; for (j=0; j<43; j++) scanf(\ for (j=0; j<43; j++) fragment[x[j]/10]= fragment[x[j]/10]+1; for (j=0; j<11; j++) printf(\各分数段人数为 %d\} 或者写成: #include \ void main() { int j , x[43],t ,fragment[12]; for (j=0; j<43; j++) scanf(\ for (j=0; j<43; j++) { t= x[j]/10; fragment[t]= fragment[t]+1; } for (j=0; j<11; j++) printf(\各分数段人数为 %d\} 从键盘上输入两个字符串,并将它们交换后输出 #include \ #include \ void main() { int j ,k; char ch1[81],ch2[81],t[81]; scanf(\ scanf(\ strcpy(t , ch1); strcpy(ch1 , ch2); strcpy( ch2 ,t); printf(\} 26、已知五个字符串\编程将它们按从小到大的顺序排列起来 #include \ #include \void main() { int j ,k; char t[81], b[5][81]= {\}; for (j=0; j<4; j++) for (k=j-1; k<5; k++) if ( strcmp(b[j]>b[k]) ) { strcpy(t , b[j]); strcpy(b[j] , b[k]); strcpy( b[k] ,t); } for (j=0; j<9; j++) printf(\} 27、使用指针将x数组中的五个数依次输出 #include \void main() { int i ,x[5]; int *p=x; for (i=0;i<5;i++) { scanf(\ p++; } p=x; for (i=0;i<5;i++) { printf(\ p++; } } 或者(全指针型): #include \void main() { int x[5]; int *p=x; for (p=x;p 28、已知一维x数组中有10个数,将每个元素加1后输出 //全指针型 #include \ void main() { int x[10]; int *p=x; for (p=x;p 或者(部分指针型) #include \void main() { int i ,x[10]; int *p=x; for (i=0;i<10;i++) { scanf(\ p++; } p=x; for (i=0;i<10;i++) { printf(\ p++; } } 29、在屏幕上显示文件a:\\\\abc\\\\abc.txt内容 #include FILE *fp; if((fp=fopen(\ { printf(\ exit(1); } while (!feof(fp) ) printf(\ fclose(fp); } 30、将五个整数3,-5,8,2,9写到C盘mydocument子目录下的aaa.txt文件中 #include FILE *fp; int x[5]={ 3,-5,8,2,9},j; if((fp=fopen(\ { printf(\ exit(1); } for (j=0 ; j<5 ; j++) fputc(x[j], fp); fclose(fp); } 31、从键盘上输入10个数,将它们按从大到小的顺序排列起来,主函数中使用input(a,10),sort(a,10),output(a,10)三个函数,编程实现 #include \void input(int a[] , int n); void sort(int a[] , int n );
正在阅读:
C语言练习题精选11-10
International Marketing(Chap001)05-16
新理念下高中化学课堂教学策略04-29
财政局民生建设工作总结报告08-04
钢结构工程施工方案与措施探析04-24
亲子教育:孩子焦虑怎么破?5句话千万别说05-06
教师对学生的寄语40句_寄语08-01
兰大《土木工程施工》16春平时作业109-18
德国模具钢厂介绍05-05
软件基础习题2009-10答案06-08
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 练习题
- 语言
- 精选
- 中共中央组织部关于规范退(离)休领导干部在社会团体兼职问题
- ECN执行要求
- 历年厦门大学经济学例年考研真题,非常全
- 中职幼儿卫生学教学大纲
- 有限空间作业应急预案新 doc2.11
- 落花生 英译
- 2017全国高考高三地理二轮复习 从审题、解题上智取高考练习 专项检测(三) 知识迁移能力
- 人教版Book 2 Unit 4基础训练
- 细胞生物学试题(选择题)
- 集团公司党风廉政建设责任制实施办法 - 国电集党39号附件
- 预防医学习题集答案(2012.6.4)
- 192 - c 德国 与意大利的豁免争端
- 风控中心岗位职责及工作流程
- 咏史怀古诗学案
- 新标准大学英语综合教程4 Unit test 1 答案
- 2019版北师大版五年级上册3.3分数与除法练习题及答案
- 工程测量 填空题(100)与答案
- 最新-黑龙江省大庆市第十四中学2018届中考物理第四章 多彩的光 4.2 光的反射平面镜成像复习导学案 新 精品
- 七年级下册语文中心思想整理
- 一九四三年中美平等新约签订的历史背景及其意义评析