A组第一题:
#include<stdio.h> int OddSum(int a) { int sum=0; if(a%2) sum=sum+a; return sum; } int main() { int a,b,c,i; printf("请输入数字的总数:"); scanf("%d",&a); printf("请分别输入这些整数 "); for(i=0;i<a;i++) { scanf("%d",&b); c=OddSum(b); } printf("这些整数中奇数的和为%d ",c); return 0; }
A组第2题:
#include<stdio.h> double mypow(double x,int n) { double c=1; int i; for(i=1;i<=n;i++) c=c*x; return c; } int main() { double x; int n; printf("请输入x和n的值:"); scanf("%lf %d",&x,&n); mypow(x,n); printf("结果为%.3f ",mypow(x,n)); return 0; }
A组第三题:
#include<stdio.h> double result; void cylinder(double r,double height) { result=3.14*r*r*height; } int main(void) { double r,height; printf("请输入圆柱体的半径和高度:"); scanf("%lf %lf",&r,&height); cylinder(r,height); printf("%.3f ",result); return 0; }
#include<stdio.h> double cylinder(double r,double height); int main(void) { double height,r; printf("请输入圆柱体的半径和高度:"); scanf("%lf %lf",&r,&height); printf("体积为%.3f ",cylinder(r,height)); return 0; } double cylinder(double r,double height) { double result; result=3.14*r*r*height; return result; }
B组:
#include<stdio.h> void jobone() { int a; printf("第一次作业 "); printf("1.实验1-1:求最大值: "); printf("2.实验1-2:求m到n之和: "); printf("3.实验1-3:求平均数: "); printf("请选择作业:"); scanf("%d",&a); switch(a) { case 1: printf("要求由键盘输入两个整数a和b,程序输出其中较大的数。 "); break; case 2: printf("要求程序计算并输出m~n(m< n)之间所有整数的和,其中m和n由用户从键盘上输入。 "); break; case 3: printf("要求从键盘上依次读入5个整数,计算并输出他们的平均数。/n"); break; } } void jobtwo() { int b; printf("第二次作业 "); printf("1.C语言基本数据类型及其占用的内存空间大小分别是: "); printf("2.算数运算符有: "); printf("3.关系运算符有: "); printf("4.逻辑运算符的优先顺序是: "); printf("5.赋值运算符有: "); printf("6.char c=132; printf(“%d”,c); "); printf("7.int a=-7; printf(“%d”,a>>1); "); printf("8.int a=7;int b=8; printf(“%d”,a&b); "); printf("9.int a=7;int b=8; printf(“%d”,a^b); "); printf("请选择作业:"); scanf("%d",&b); switch(b) { case 1: printf("有符号整形int:4字节;有符号短整形short int:2字节;有符号长整形long int :4字节;无符号整形unsigned int:4字节;无符号短整型unsigned short int :2字节;无符号长整形unsigned long int:4字节;字符型char :1字节;单精度浮点型float:4字节;双精度浮点型double:8字节。 "); break; case 2: printf("+-*/% ++ -- "); break; case 4: printf("! && ||/n"); break; case 5: printf("= += -= *= /= %= /n"); break; case 6: printf("这个代码的结果是-124,原因是 char的范围是-128~127,而输入的是132,132是由128和4组成,所以应该是1000 0100,第一位是1,所以计算机识别出来的是负数,1000 0100取反对应的是0111 1011,然后再进一位,为0111,1100。所以最后的结果为-124./n"); break; case 7: printf("11111111 11111111 11111111 11111001/n"); break; case 8: printf("00000000 00000000 00000000 00000000/n"); break; case 9: printf("00000000 00000000 00000000 00001111 /n"); break; } } void jobthree() { int c; printf("第三次作业 "); printf("1.编程打印10行的三角形,要求每行显示的*号个数等于行数; "); printf("2.编程打印10行*号,每行打印10个*号 "); printf("3.编程打印10行的倒三角形,第一行打印10个*,……第10行打印1个* "); printf("4.输入五级制成绩(A~E),输出相应的百分制成绩(0~100)区间,要求使用switch语句。例如,输入A,输出90~100。五级制成绩对应的百分制成绩区间为:A(90~100),B(80~89),C(70~79),D(60~69)和E(0~59)。 "); printf("5.本题要求编写程序,计算华氏温度100°F对应的摄氏温度。计算公式:C=5×(F?32)/9C = 5 imes (F-32)/9C=5×(F?32)/9,式中:CCC表示摄氏温度,FFF表示华氏温度,输出数据要求为整型。 "); printf("6. 一个物体从100米的高空自由落下。编写程序,求它在前3秒内下落的垂直距离。设重力加速度为10米/秒. "); printf("7. 本题要求编写程序,输出整数152的个位数字、十位数字和百位数字的值。 "); printf("请选择作业:"); scanf("%d",&c); switch(c) { case 1: printf("略 "); break; case 2: printf("略 "); break; case 4: printf("略"); break; case 5: printf("略/n"); break; case 6: printf("略/n"); break; case 7: printf("略/n"); break; } } void jobfour() { int d; printf("第四次作业 "); printf("1.猜数字游戏 "); printf("2.从键盘上输入2个正整数,输出这两个数的最大公约数和最小公倍数。 "); printf("请选择作业:"); scanf("%d",&d); switch(d) { case 1: printf("略 "); break; case 2: printf("略 "); break; } } void jobfive() { int e; printf("第五次作业 "); printf("1.书上第3章课后题中的5道编程题。 "); printf("2.利用双重循环打印三角形 "); switch(e) { case 1: printf("略 "); break; case 2: printf("略 "); break; } } void start() { int i; printf("欢迎进入作业管理系统 "); printf("可以查询以下作业内容: "); printf("1.第一次作业 "); printf("2.第二次作业 "); printf("3.第三次作业 "); printf("4.第四次作业 "); printf("5.第五次作业 "); printf("请选择:"); scanf("%d",&i); switch(i) { case 1: jobone(); break; case 2: jobtwo(); break; case 3: jobthree(); break; case 4: jobfour(); break; case 5: jobfive(); break; default: printf("输入有误!"); } } int main() { start(); return 0; }
总结:这次作业用的方法好像就是把int main 函数置后了,我也不知道这是什么意思,而且做完这些题,还是没有完全掌握这种方法,另外,B组作业管理这道题,每道题额答案没办法打进去,全是代码,难道要把代码打进代码里吗,太乱了我觉得,主要是这种方法的框架学会了,所以一些答案我写的略,实在是不可能打进去,至少对我们现在来说非常困难和复杂。C语言还需要学的东西很多,时不时多多复习之前做的题目加深印象,还是加油!