收藏 分享(赏)

C语言作业题集整编汇总.doc

上传人:还是太帅 文档编号:9087094 上传时间:2019-07-23 格式:DOC 页数:25 大小:130KB
下载 相关 举报
C语言作业题集整编汇总.doc_第1页
第1页 / 共25页
C语言作业题集整编汇总.doc_第2页
第2页 / 共25页
C语言作业题集整编汇总.doc_第3页
第3页 / 共25页
C语言作业题集整编汇总.doc_第4页
第4页 / 共25页
C语言作业题集整编汇总.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

1、1. 第一次1.1. 编写一程序,通过键盘输入一华氏温度,将其转换为摄氏温度后输出。 公式为 c=5/9(f 32)#include “stdio.h“main()float f=0,h=0;printf(“请输入华氏温度:“);scanf(“%f“,printf(“转化为摄氏温度为:“);h=(float)5/9*(f-32);printf(“%.2fn“,h);1.2. 通过键盘输入一小写字母,将其转换为大写字母输出,并输出该大写字母的后一位字母和前一位字母(如果输入该大写字母为 A,则其前一位字母为 Z;如果输入该大写字母为 Z,则其后一位字母为 A) 。#include “stdio.

2、h“main()char ch1,ch2,ch3,ch;printf(“请输入一个小写字母:n“);while(scanf(“%c“,printf(“其对应的大写字母和前后的大写字母分别为:n“);if(ch=a)ch2=ch-32;ch1=ch2+25;ch3=ch2+1;else if(ch=z)ch2=ch-32;ch1=ch2-1;ch3=ch2-25;else ch2=ch-32;ch1=ch2-1;ch3=ch2+1;printf(“%c,%c,%cn“,ch1,ch2,ch3);1.3. 通过键盘输入一个两位的整数,试编写程序将其个位与十位分别以字符的方式输出。输出形式为:“th

3、e input number is 你输入的整数, the tens is 十位数字,the units is 个位数字。 ”如果输入的整数不正确,则输出“wrong input”#include “stdio.h“main()int a,b1,b2;printf(“请输入一个两位正整数:n“);scanf(“%d“,if(a=100)printf(“输入不符合要求“);elseb1=a%10;b2=a/10;printf(“十位数是:%cn 个位数是:%cn“,b2+0,b1+0);1.4. 给定方程 ax2+bx+c=0,试编写程序根据键盘输入实数 a、b、c,能输出其根,要求:如果该方程

4、有两个不同的根,则输出形式为“the Answer of ax2+bx+c=0 is x1=根 1,x2=根 2“如果该方程有两个相同的根,则输出形式为“the Answer of ax2+bx+c=0 is x1=X2=根“如果该方程无解,则输出形式为“the Answer of ax2+bx+c=0 is none“ ,其中 a、b、c 均为键盘输入,输出结果保留两位小数。#include “stdio.h“#include “math.h“main()float a,b,c,disc,x1,x2;scanf(“%f,%f,%f“,disc=b*b-4*a*c;if(disc=0)x1=x

5、2=-b/(2*a);printf(“the Answer of ax2+bx+c is x1=x2=%.2fn“,x1);else if(disc0)x1=(-b+sqrt(disc)/(2*a);x2=(-b-sqrt(disc)/(2*a);printf(“the Answer of ax2+bx+c is x1=%.2f,x2=%.2fn“,x1,x2);elseprintf(“the Answer of ax2+bx+c=0 is nonen“);2. 第二次2.1. 求 1/3+3/5+5/7+前 20 项之和。 (本题要求分别以 goto,for,do .while,while

6、四种循环语句实现)#include int main()int i;float s=0;for(i=1;iint main()int p,r,n,m;printf(“n,m:“);scanf(“%d,%d“,if(p=n*m)while(m!=0)r=n%m;n=m;m=r;printf(“最大公约数是%dn“,n);printf(“最小公倍数是%dn“,p/n);return 0;#includevoid main()int s,i,j;int a;printf(“请输入一个数:n“);scanf(“%d“,for(i=1;iint main ()int n;printf(“请输入你的学号:

7、n“);scanf(“%d“,if(n%2=0)int i,j,k=3,s=1;for (i=1;ivoid main()int s,i,j;int a;printf(“请输入一个数:n“);scanf(“%d“,for(i=1;iint main ()int n;printf(“请输入你的学号:n“);scanf(“%d“,if(n%2=0)int i,j,k=3,s=1;for (i=1;imain()int i, j, k, h, l, n;float x, t, y11;i=0;for(x=0;xyj)t=yj-1; yj-1=yj; yj=t;printf(“最小的%d 个 y 值是

8、nn“,n);for(k=0;kmain()int i, a=0, b=0, c=0, d=0, e=0;float g10;printf(“请输入 10 个学生的成绩,输入完成请按回车键n“);for(i=0;imain()int i, j, k, l, num=0;float ave, t, g5;printf(“请输入 5 个数,输入完成请按回车键n“);for(i=0;igk)t=gk-1; gk-1=gk; gk=t;ave=(g0+g1+g2+g3+g4)/5.0;for(l=0;lave) num+;printf(“5 个数中最大值是 %fn“,g4);printf(“5 个数中

9、最小值是 %fn“,g0);printf(“5 个数的平均值是 %fn“,ave);printf(“有 %d 个数超过平均值n“,num);4. 第四次4.1. 一个学习小组有 5 个人,每个人有三门课的考试成绩。求小组分科的平均成绩和各同学平均成绩;同时将各位同学的平均成绩按照从高到低的顺序排名后输出其姓名、平均成绩以及排序号。张 王李 赵 周ath 80 61 59 85 76C 75 65 63 87 77Eng 92 71 70 90 85#include “stdio.h“#include “string.h“#include “math.h“main()char names55=“

10、张“,“王“,“李“,“赵“,“周“;char items35;char name5;int grade53=80,75,92,61,65,71,59,63,70,85,87,90,76,77,85;float avg13,avg25,temp;int i,j;int sum;strcpy(names0,“张“);strcpy(names1,“王“);strcpy(names2,“李“);strcpy(names3,“赵“);strcpy(names4,“周“);/* for(i=0;i100|gradeijgradeij)mini=gradeij;for(i=0;i=0;i-)printf(

11、“%c“,itemsi0);printf(“n“);B:从键盘上输入两个字符串(长度不大于 20)和整数 n(0void order(int a33)int i, j, t, m;for(m=0;mint s1(int m, int n)int i, num=0;for(i=1;iy)t=x; x=y; y=t;if(x%2=1)|(x%2=-1)E=s1(x,y);if(x%2=0)E=s2(x,y);printf(“这两个数字之间的所有偶数之和为: “);printf(“%dnn“,E);6.3. 编写函数求方程 ax2+bx+c=0 的所有解(包括实根和非实根) 。提示:要考虑 a=0,

12、b 2-4ac0、=0、#includefloat s11 (float b, float c)float x;x=-c/b;printf(“方程有一个根为: %.3fn“,x);float s12 (float a, float b, float c)float x;x=-b/(2*a);printf(“方程有一个根为: %.3fn“,x);float s21 (float a, float b, float c)float x1, x2;x1=(-b-sqrt(b*b-4*a*c)/(2*a);x2=(-b+sqrt(b*b-4*a*c)/(2*a);printf(“方程一个实根为: %.

13、3fn“,x1);printf(“方程另一个实根为: %.3fn“,x2);float s22 (float a, float b, float c)float x1, x2, m, n;m=-b/(2*a); n=sqrt(4*a*c-b*b)/(2*a);printf(“方程一个虚根为: %.3f-%.3fin“,m,n);printf(“方程另一个虚根为: %.3f+%.3fin“,m,n);main()float a, b, c, r;printf(“请输入方程 ax*x+bx+c=0 的 3 个参数 a,b,c,按回车键结束n“);scanf(“%f%f%f“,r=b*b-4*a*c

14、;if(fabs(a)1e-6)s21(a,b,c);else if(r0) a=x*pwo(x,n-1);return a;#include “stdio.h“main()double x;int n;printf(“please input x and nn“);scanf(“%lf%d“,printf(“%.6lfn“,pwo(x,n);7.2. 课本 135 页(第八章第五大题第 6 小题) 。#include #includefloat aveg(int a510,int i)float sum=0,k;int j;for(j=0;jej)t=ej-1;ej-1=ej;ej=t;st

15、rcpy(c0,aj-1);strcpy(aj-1,aj);strcpy(aj,c0);exchange(b,j-1,j);printf(“最高分同学的名字为:“);printf(“%sn“,a9);printf(“n“);printf(“最高分同学的 math、chi、eng、phy、man 分别为n“);for(i=0;imax)max=*p;pmax=p;if (*p#include char *insert(char *s1,char *s2,int f)char *p=s1+f-1,str200;int length,i;length=strlen(s1);for(i=0;ik)pr

16、intf(“输入错误!n“);else printf(“%sn“,insert(s1,s2,n);9.2. 用数组名作为函数参数的 4 种方式(即形参数组名、实参数组名;形参数组名、实参指针变量;形参指针变量、实参数组名;形参指针变量、实参指针变量)实现输出某一维数组的最大值及其所在数组的位置。(1) 数组数组#includeint main()int i;float a10,fun();for(i=0;iint main()float a10,*p,fun();p=a;for(p;pint main()int i;float a10,fun();for(i=0;ifloat fun(floa

17、t *p)float max,*q;q=p;max=*p;for(;qmain()float a36, (*p)6;int i, j;p=a;for(i=0;i#includeint main(int argc, char *argv)char c;int b, d;float e;b=atoi(argv1);c=*argv2;d=atoi(argv3);if(c=+) e=b+d;printf(“%d+%d=%.2f“,b,d,e);else if(c=-) e=b-d;printf(“%d-%d=%.2f“,b,d,e);else if(c=*) e=b*d;printf(“%d*%d=%

18、.2f“,b,d,e);else if(c=/) e=(b/1.0)/d;printf(“%d/%d=%.2f“,b,d,e);else printf(“error“);return 0;11. 第十一次11.1. 某班有 5 名学生,每名学生的数据包括学 号、姓名、 3 门课程的成绩。从键盘输入 5 名学生数据,并打印出 3 门课程总平均成绩, 以及最高分的学生的数据(包括学号、姓名、 3 门课成绩、平均成绩) 。观察分析程序内容,对照执行结果。1)指向结构变量的指针。其中:%p 打印十六进制地址。(*p).height .(dot)运算的优先级高于间接访问运算。表示所指向结构的内容的时候要

19、加括号。#include “stdio.h“struct person /data structure for personchar name20;int height,weight;void main()struct person *p,man=“xiao wang“,170,78;p = /point to manprintf(“The leading address of man is:%pn“,p);printf(“The leading address of name is:%pn“,(*p).name); printf(“The value of name is:%sn“,(*p)

20、.name); printf(“The leading address of height is:%pn“,printf(“The value of height is:%dn“,(*p).height); printf(“The leading address of weight is:%pn“,printf(“The size of person is:%d“,sizeof(*p);2)指向结构数组的指针#include “stdio.h“struct person /data structure for personchar name20;int height,weight;void m

21、ain()struct person *p,student10=“xiao wang“,170,78,“he jing“,176,60;p=student; /point to studentprintf(“The leading address of student is:%pn“,p);printf(“The leading address of xiao wangs name is:%pn“,(*p).name); printf(“The value of xiao wangs name is:%sn“,(*p).name); printf(“The leading address of

22、 he jings height is:%pn“,printf(“The value of he jings height is:%dn“,(*(p+1).height); printf(“The size of one student is:%dn“,sizeof(*p);printf(“The size of all students is:%dn“,sizeof(student);12. 第十二次12.1. 某班有 10 名学生,每名学生的数据包括学号、姓名、 4 门课程的成绩。从文件输入 10 名学生数据,并计算出 4 门课程总平均成绩,并按平均成绩由最高到低排序将学生的数据(包括名次、学号、姓名、 4 门课成绩、平均成绩)写入文件。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 实用文档 > 往来文书

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报