安徽大学C语言实验平台作业答案.docx
- 文档编号:27371080
- 上传时间:2023-06-30
- 格式:DOCX
- 页数:58
- 大小:51.09KB
安徽大学C语言实验平台作业答案.docx
《安徽大学C语言实验平台作业答案.docx》由会员分享,可在线阅读,更多相关《安徽大学C语言实验平台作业答案.docx(58页珍藏版)》请在冰豆网上搜索。
安徽大学C语言实验平台作业答案
实验三 C基本数据类型及运算
1.编程:
根据需要定义相关变量,键盘输入10。
0、20。
6、5。
0三个实数分别赋给相关三个变量,输出该3个变量的和s、乘积p和平均值a。
2。
编程:
输入球的半径,计算球体表面积和球体积.
3.编程:
定义6个变量,通过键盘将“10, -10, 40000, a, 3.14, hello”这六个值分别赋给相应变量,然后在屏幕上输出变量的值(每行输出一个变量)。
4.编程:
从键盘接收1个字符给变量s1,1个字符串(允许带有空格)给字符数组s2,输出字符变量s1的ASCII码值及字符数组s2中的字符串。
5.编程:
从键盘输入二个整数分别赋给整型变量a、b,将它们按由小到大的顺序输出。
6。
编程:
调用标准库函数sin(x)计算6800的正弦值(此题为选做)。
7。
编程:
键盘输入一个实数赋给变量x,计算y=x*x*x+x*x+x的值,分别输出y值、y值的整数部分和小数部分(此题为选做)。
8。
编程:
键盘输入四个整数分别赋给整型变量a、b、c、d,用三目运算方法将它们按由大到小的顺序输出(此题为选做)。
1.#include
main()
{floatx,y,z,s,p,a;
scanf("x=%fy=%fz=%f”,&x,&y,&z);
s=x+y+z;
p=x*y*z;
a=s/3;
printf(”s=%f,p=%f,a=%f”,s,p,a);
}
2。
#include〈stdio。
h>
main()
{floatr,s,v;
printf(”inputr");
scanf("%f",&r);
s=4*3。
14*r*r;
v=4/3*3。
14*r*r*r;
printf("s=%f,v=%f”,s,v);
}
3.#include
main()
{inta,b;longc;chard,st[6];floate;
scanf(”%d%d%ld%c%f%s”,&a,&b,&c,&d,&e,st);
printf("a=%d\n,b=%d\n,c=%d\n,d=%c\n,e=%f\n,ch=%s",a,b,c,d,e,st);
}
4.#include〈stdio.h〉
main()
{chars1,s2[6];
scanf(”%c%s”,&s1,s2);
printf("s1=%d,s2=%s”,s1,s2);
}
5.#include h〉 main() {inta,b; scanf(”a=%db=%d",&a,&b); if(a〈b) printf("a=%db=%d”,a,b); else printf("b=%da=%d",b,a); } 6。 #include〈math.h> #include〈stdio。 h> main() {floata,b; scanf("%f",&a); b=sin(a); printf("%f”,b); } 7。 #include〈stdio.h> main() {floatx,y,b;inta; scanf("%f",&x); y=x*x*x+x*x+x; a=(int)y; b=y-a; printf("%f\n%d\n%f\n",y,a,b); } 实验四 C分支结构程序设计 1。 编程: 从键盘输入一个字符,如是大写字母,则输出相应小写字母;如是小写字母,则原样输出;其它字符输出“Notletter! "。 2。 编程: 判断输入的正整数是否既是3又是5的整数倍。 若是,输出Yes,否则输出No. 3.编程: 从键盘输入三个整数,分别赋给变量a,b,c,输出其中的最大值(要求不改变a、b、c的值)。 4。 编程: 用scanf输入任意两个数分别赋给变量a、b,若a大于等于b,则直接输出a、b,否则将a、b的值交换(即a的原值放入b中,b的原值放入a中)后再输出。 5.编程: 输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和。 6。 编程: 从键盘输入三个整数,分别赋给变量a,b,c,请按从小到大的顺序依次输出a、b、c(要求不改变a、b、c的值). 7。 编程: 从键盘输入三个整数,分别赋给变量a,b,c,请按从小到大的顺序依次将这三个数存放于a、b、c中,最后输出a、b、c。 8。 编程: 由系统生成一个10以内的随机整数,用户从键盘上输入一个10以内的整数,如果两者相等输出“OK”,否则输出“ERROR”。 注: 随机数的生成必须包含头文件#include〈stdlib.h>、#include〈time。 h>,必须用初始化语句srand((unsigned)time(NULL));,表达式rand()%a+1的值为1~a内的随机整数 1。 #include〈stdio.h> main() {charx; scanf(”%c”,&x); if(x>='a'&&x<=’z') printf("%c”,x); elseif(x>='A'&&x<=’Z') printf(”%c",x+32); elseprintf(”Notletter! "); } 2。 #include h> main() {intx; scanf(”%d",&x); if(x〉0) {if(x%3==0&&x%5==0) printf(”Yes\n"); elseprintf(”No\n”);} elseprintf(”Error! "); } 3。 #include〈stdio.h〉 main() {inta,b,c,max; scanf("%d%d%d”,&a,&b,&c); max=a〉b? a: b; max=max>c? max: c; printf("a=%d,b=%d,c=%d,max=%d",a,b,c,max); } 4。 #include〈stdio.h> main() {floata,b; scanf("%f%f",&a,&b); if(a〈b) {a=a+b; b=a-b; a=a—b;}; printf("a=%f,b=%f\n",a,b); } 5. #include h〉 main() {inta,b,t,r,s; scanf(”%d%d”,&a,&b); s=a+b; r=a*a+b*b; t=r/100; if(r>100) printf("%d",t); elseprintf("%d”,s); } 6. #include intmain() {inta,b,c,d,max,min; scanf("%d%d%d”,&a,&b,&c); if(a〉=b) {max=a; min=b;} else {max=b; min=a;} if(c>=max) max=c; if(c〈=min) min=c; d=a+b+c—min-max; printf(”%d%d%d\n”,min,d,max); } 7. #include〈stdio。 h〉 main() {inta,b,c,d; scanf("%d%d%d”,&a,&b,&c); if(a>=b) {d=a; a=b; b=d;} elseif(b>=c) {d=b; b=c; c=d;} printf("a=%db=%dc=%d",a,b,c); } 8。 #include〈stdio。 h> #include〈stdlib.h> #include〈time。 h> main() {inta,b; srand((unsigned)time(NULL)); b=rand()%10+1; scanf("%d",&a); printf("a=%d,随机数b=%d\n”,a,b); if(a==b) printf("OK! \n”); elseprintf("ERROR! \n”); } 实验五 C多分支结构程序设计* 1.编程: 计算奖学金ss的值,已知奖学金ss与成绩s的关系为: 具体要求: (1)用if语句实现分支结构的编程。 (2)s为整型,ss要求精确到小数点后二位。 (3)用scanf函数给s赋值,且输入前有相应提示。 (4)结果输出时采用以下形式: 成绩s=具体值,奖学金ss=具体值 2. 设函数f(x)如下,求函数函数法f(x)的值。 具体要求: (1)用条件表达式编程。 (2)用if语句编程。 (3)用scanf函数给自变量赋值,且输入前有相应提示。 (4)结果输出时采用以下形式: x=具体值,f(x)=具体值 (5)给出你所使用的测试用例。 提示: 按C的语法规则,标识符由字母、数字、下划线组成,不能将f(x)作为变量名,本题中,函数名可起为f或y等.但作为非格式控制字符,f(x)完全可以出现在printf函数的双引号内. 3。 编程: 输入一个整数,判断它能否被3,5,7整除,并输出以下信息之一: (1)能同时被3,5,7整除。 (2)能被其中两数整除(指出是哪两个数)。 (3)能被其中一个数(指出是哪一个数)整除。 (4)不能被3,5,7任一个数整除. 4.编程: 用switch语句编写一个简单的计算器程序,输入格式为: data1opdata2.其中data1和data2为参加运算的两个数;op为运算符,取值只能是+、—、*、/. 5.编程: 计算你的出生日期是星期几。 (1)通过键盘输入你出生那一年的元旦是星期几 (2)通过键盘输入你的出生日期 (3)输出结果 1. #include〈stdio。 h〉 main() {ints;floatss; printf("Pleaseinputs\n”); scanf(”%d",&s); if(s<0||s>100) printf(”ERROR! \n”); else{if(s>=0&&s〈80) ss=0; elseif(s>=80&&s<90) ss=100+s; elseif(s>=90&&s〈=100) ss=200+s*3/2; printf("成绩s=%d,奖学金ss=%0.2f\n",s,ss); } } 2。 #include h> main() {floatx;intf; printf("Pleaseinputx\n”); scanf(”%f",&x); if(x==0) f=0; elsef=(x>0)? 1: —1; printf("x=%f,f(x)=%d\n",x,f); } 3. #include〈stdio。 h〉 main() {intx,a,b,c; printf("请输入一个整数x”); scanf("%d”,&x); a=x%3; b=x%5; c=x%7; if(a==0&&b==0&&c==0) printf("%d能同时被3,5,7整除\n",x); elseif(a==0&&b==0)printf("%d能被3,5整除\n",x); elseif(a==0&&c==0)printf("%d能被3,7整除\n",x); elseif(b==0&&c==0)printf(”%d能被5,7整除\n",x); elseif(a==0)printf("%d能被3整除\n”,x); elseif(b==0)printf("%d能被5整除\n",x); elseif(c==0)printf("%d能被7整除\n”,x); elseprintf("%d不能被3,5,7任意一个数整除\n",x); } 4。 #include h〉 main() {charop; floatd1,d2; printf("请输入算式"); scanf("%f%c%f”,&d1,&op,&d2); switch(op) {case'+': printf("%g+%g=%g\n",d1,d2,d1+d2);break; case’—’: printf(”%g-%g=%g\n”,d1,d2,d1-d2);break; case'*': printf("%g*%g=%g\n”,d1,d2,d1*d2);break; case'/’: printf(”%g/%g=%g\n",d1,d2,d1/d2);break; } } 5。 #include main() { intx,m,d; printf("请输入你出生那年元旦的星期(1至7): \n”); printf(”请输入你的出生日期(mm/dd): \n"); scanf(”%d,%d,%d”,&x,&m,&d); switch((m*30+d)/7) {case0: printf("你出生那天为星期%d",x);break; case1: printf(”你出生那天为星期%d”,x+1);break; case2: printf("你出生那天为星期%d",x+2);break; case3: printf("你出生那天为星期%d",x+3);break; case4: printf("你出生那天为星期%d”,x+4);break; case5: printf("你出生那天为星期%d”,x+5);break; case6: printf(”你出生那天为星期%d",x+6);break; } } 实验六 C循环结构程序设计 1。 编程: 输出200以内所有能被7整除的数。 2.编程: 求出1~1000之间能被13整除的最大的那个数。 3.编程: 找出若干个非零数中的最小值m以及它们的平均值a. 要求: 若干个数由键盘输入,每次输入一个赋给变量x,x为零时,结束输入。 4。 编程: 求两个正整数m、n之间所有奇数之和x与偶数之和y。 要求: (1)m、n的值由键盘输入。 (2)输入时,允许用户随意先输入大的或小的整数。 5。 编程: 计算函数y的值。 要求键盘接收自变量x的值,若x的值不为零,计算函数y的值并输出,再从键盘接收下一个x的值,……,直到x的值为零,显示“ThankYou,Bye! ",尔后结束程序,已知函数y与自变量x的关系为: 6.编程: 计算π的近似值,π的计算公式为: 要求: (1)n值由键盘输入。 (2)分别输出当n为10、100、1000时的计算结果. (3)输出时要求每行显示一组n、π的值,每行形式如下: n=具体值,π=具体值 7。 我国现有人口13亿,设年增长率为1%,编写程序,计算多少年后增加到20亿。 8.求解爱因斯坦数学题。 有一条长阶梯,若每步跨2阶,则最后剩余1阶;若每步跨3阶,则最后剩2阶;若每步跨5阶,则最后剩4阶;若每步跨6阶,则最后剩5阶;若每步跨7阶,最后才正好一阶不剩.请问,这条阶梯最少共有多少阶? 9。 每个苹果0。 8元,第一天买2个苹果,第二天开始,每天买前一天的2倍,直至购买的苹果个数达到不超过100的最大值.编程: 求每天平均花多少钱? (此题为选做) 1. #include h〉 main() {inti; for(i=1;i<=200;i++) {if(i%7! =0)continue; printf("%d",i); } } 2。 #include〈stdio.h〉 main() {inti,max=0; for(i=0;i〈=1000;i++) {if(i%13! =0)continue; if(max〈i) max=i; } printf("max=%d\n”,max); } 3。 #include h> main() {inti;floatx,m,s,a; scanf(”%f",&x); if(x! =0){m=x;s=x;} for(i=1;;i++) {scanf("%f”,&x); if(x==0)break; s=s+x; if(m〉x) m=x; } a=s/i; printf(”最小值m=%f,平均值a=%f”,m,a); } 4. #include voidmain() {inti,m,n,t,x=0,y=0; scanf(”%d%d",&m,&n); if(m>n){t=m;m=n;n=t;} for(i=m;i〈=n;i++) if(i%2) x+=i; else y+=i; printf("x=%d\n”,x); printf("y=%d\n",y); } 5. #include〈stdio.h> main() { floatx,y; printf(”inputx: ”); scanf("%f”,&x); for(;x〉=0;) { if(x>0&&x〈100) { y=3*x+1; printf("%f",y); } elseif(x〉=100) { y=x*x-1; printf("%f”,y); } else {printf("thankyoubey! ”);break;} scanf(”%f”,&x); } } 6。 #include main() { intn,i; doublet,sum; printf("请输入n的值\n"); scanf("%d",&n); sum=2; i=1; t=2; while(i〈n) { t=t*(2*i)*(2*i)/(2*i-1)/(2*i+1); i=i+1; } printf("n=%d,π=%f\n",n,t); } 7。 #include〈stdio。 h〉 main() { doublet=13,s=0; while(t<=20) { t=t*(1+0.01); s++; } printf(”需要经过%lf年",s); } 8. #include〈stdio.h> main() { intx=7; while(! (x%2==1&&x%3==2&&x%5==4&&x%6==5)) { x=x+7; } printf(”%d\n",x); } 9。 #include h> main() {floats=0; intn=1,p=0,d=0; do {d++; n=n*2; p=p+n; } while(p+n*2<=100); s=p*0.8/d; printf(”每天平均花%g元钱! \n”,s); } 实验七 C多重循环结构程序设计 1.编程: 输出100以内个位数为6且能被3整除的所有数。 2。 编程: 键盘输入6位学生的5门课成绩,分别统计出每个学生的平均成绩。 3.编程: 输入一个正整数,统计该数的各位数字中零的个数,并求各位数字中的最大者。 4。 编程: 分别用dowhile、while、for三种循环结构求: 1! +2! +3! +...+n! ,要求n的值由键盘输入。 5.编程: 计算100至1000之间有多少个数其各位数字之和是5。 6。 编程: 从键盘输入的10个整数中,找出第一个能被7整除的数。 若找到,输出此数后退出;若未找到,输出“notexist”。 7。 编程: 输出1至100之间满足如下条件的数: 各位数的乘积大于各位数的和。 8.编程: 将整数316表示为两个加数的和,使这两个加数分别能被13和11整除。 9。 编程: 打印出所有的"水仙花数”。 所谓的”水仙花数”是指一个3位数,其各位数字的立方和等于该数本身。 例如,153是一个"水仙花数",因为有153=1*1*1+5*5*5+3*3*3。 10。 编程: 一条有10个车站的铁路线,共需要准备多少种车票? 1。 #include h> main() {inti; for(i=1;i<=100;i++) {if(i%10==6&&i%3==0) printf("%d",i); } } 2. #include h〉 main() {inti,j,a[6][5];floats; for(i=0;i〈6;i++) {s=0; for(j=0;j〈5;j++) {printf("请输入第%d个学生的第%d门成绩”,i+1,j+1); scanf(”%d",&a[i][j]); s=s+a[i][j]; } s=s/5; printf("第%d个学生平均成绩为%f\n”,i+1,s); } } 3. #include〈stdio.h> main() {intx,i,max,t; i=0; max=0; scanf(”%d”,&x); do {t=x%10; if(t==0)++i; elseif(max x=x/10; } while(x); printf("i=%d,max=%d”,i,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 安徽大学 语言 实验 平台 作业 答案