安徽大学C语言实验平台作业答案docx.docx
《安徽大学C语言实验平台作业答案docx.docx》由会员分享,可在线阅读,更多相关《安徽大学C语言实验平台作业答案docx.docx(64页珍藏版)》请在冰豆网上搜索。
安徽大学C语言实验平台作业答案docx
实验三C基本数据类型及运算
1.编程:
根据需要定义相关变量,键盘输入、、三个实数分别赋给相关三个变量,输出该3个变量的和s、
乘积p和平均值a。
2.编程:
输入球的半径,计算球体表面积和球体积。
3.编程:
定义6个变量,通过键盘将“10,-10,40000,a,,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<>
main()
{floatr,s,v;
printf("inputr");
scanf("%f",&r);
s=4**r*r;
v=4/3**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<>
main()
{chars1,s2[6];scanf("%c%s",&s1,s2);printf("s1=%d,s2=%s",s1,s2);
}
5.#include<>
main()
{inta,b;scanf("a=%db=%d",&a,&b);if(a
printf("b=%da=%d",b,a);
}
6.#include<>
#include<>
main(){floata,b;scanf("%f",&a);
b=sin(a);
printf("%f",b);
}
7.#include<>
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<>、#include<>,必须用初始化语句表达式rand()%a+1的值为1~a内的随机整数
srand((unsigned)time(NULL));,
1.#include<>
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<>
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<>
main()
{inta,b,c,max;scanf("%d%d%d",&a,&b,&c);max=a>ba:
b;max=max>cmax:
c;printf("a=%d,b=%d,c=%d,max=%d",a,b,c,max);
}
4.#include<>
main(){floata,b;scanf("%f%f",&a,&b);if(a
{a=a+b;
b=a-b;
a=a-b;};
printf("a=%f,b=%f\n",a,b);
}
5.
#include<>
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<>
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<>
#include<>
#include<>
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)作为变量名,本题中,函数名可起为
y等。
但作为非格式控制字符,f(x)完全可以出现在printf函数的双引号内。
f或
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<>
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=%\n",s,ss);
}
}
2.
#include<>
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<>
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<>
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.每个苹果元,第一天买2个苹果,第二天开始,每天买前一天的
超过100的最大值。
编程:
求每天平均花多少钱(此题为选做)
2倍,直至购买的苹果个数达到不
1.
#include<>
main()
{inti;
for(i=1;i<=200;i++)
{if(i%7!
=0)continue;
printf("%d",i);
}
}
2.
#include<>
main()
{inti,max=0;
for(i=0;i<=1000;i++)
{if(i%13!
=0)continue;
if(max
max=i;
}
printf("max=%d\n",max);
}
3.
#include<>
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<>
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{
t=t*(2*i)*(2*i)/(2*i-1)/(2*i+1);
i=i+1;
}
printf("n=%d,π\n",n,t);=%f
}
7.
#include<>
main()
{
doublet=13,s=0;
while(t<=20)
{
t=t*(1+;
s++;
}
printf("需要经过%lf年",s);
}
8.
#include<>
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<>
main()
{floats=0;
intn=1,p=0,d=0;
do
{d++;
n=n*2;
p=p+n;
}
while(p+n*2<=100);
s=p*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<>
main()
{inti;
for(i=1;i<=100;i++)
{if(i%10==6&&i%3==0)
printf("%d",i);
}
}
2.
#include<>
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<>
main()
{intx,i,max,t;
i=0;
max=0;
scanf("%d",&x);
do
{t=x%10;
if(t==0)++i;
elseif(maxx=x/10;
}
while(x);
printf("i=%d,max=%d",i,max);
}
4.
#include<>
main()
{intn,i,a,s=0;
printf("请输入n:
");
scanf("%d",&n);
a=1;
for(i=1;i<=n;i++)
{a=a*i;
s=s+a;
}
printf("s=%d\n",s);
}
#include<>
main()
{intn,i=1,a=1,s=0;
printf("请输入n:
");
scanf("%d",&n);
while(i<=n)
{a=a*i;
s=s+a;
i++;
}
print("s=%d",s);
}
#include<>
main()
{intn,i=1,a=1,s=0;
printf("请输入n:
");
scanf("%d",&n);
do
{a=a*i;