安徽大学实验平台C语言答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

安徽大学实验平台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()
{float x,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()
{float r,s,v;
printf("input r");
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()
{int a,b;long c;char d,st[6];float e;
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()
{ char s1,s2[6];
scanf("%c%s",&s1,s2); printf("s1=%d,s2=%s",s1,s2); }
5. #include
main()
{ int a,b;
scanf("a=%db=%d",&a,&b); if (a<b)< p="">
printf("a=%db=%d",a,b); else
printf("b=%da=%d",b,a);
}
6. #include
#include
main()
{float a,b;
scanf("%f",&a);
b=sin(a);
printf("%f",b);
}
7. #include
main()
{float x,y,b;int a;
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. 编程从键盘输入一个字符如是大写字母则输出相应小写字母如是小写字母则原样输出其它字符输出“Not letter!”。

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 必须用初始化语句
srand((unsigned)time(NULL)); 表达式rand()%a+1的值为1~a 内的随机整数
1. #include
main()
{char x;
scanf("%c",&x);
if(x>='a'&&x<='z')
printf("%c",x);
else if (x>='A'&&x<='Z')
printf("%c",x+32);
else printf("Not letter!");
}
2. #include
main()
{int x;
scanf("%d",&x);
if (x>0)
{ if(x%3==0&&x%5==0)
printf("Yes\n");
else printf("No\n");}
else printf("Error!");
}
3. #include
main()
{int a,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 main()
{float a,b;
scanf("%f%f",&a,&b);
if(a<b)< p="">
{a=a+b;
b=a-b;
a=a-b;};
printf("a=%f,b=%f\n",a,b); }
5.
#include
main()
{int a,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);
else printf("%d",s);
}
6.
#include
int main()
{int a,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()
{ int a, b, c, d;
scanf("%d%d%d",&a,&b,&c);
if(a>=b)
{d = a;
a = b;
b = d;}
else if(b>=c)
{ d = b;
b = c;
c = d; }
printf("a=%d b=%d c=%d",a,b,c); } 8.
#include
#include
#include
main()
{int a,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");
else printf("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 语句编写一个简单的计算器程序输入格式为data1 op data2。

其中data1
和data2为参加运算的两个数 op为运算符取值只能是+、-、*、/。

5. 编程计算你的出生日期是星期几。

1 通过键盘输入你出生那一年的元旦是星期几
2 通过键盘输入你的出生日期
3 输出结果
1.
#include
main()
{int s; float ss;
printf("Please input s\n");
scanf("%d",&s);
if(s<0||s>100)
printf("ERROR!\n");
else {if(s>=0&&s<80)
ss=0;
else if(s>=80&&s<90)
ss=100+s;
else if(s>=90&&s<=100)
ss=200+s*3/2;
printf("成绩s=%d,奖学金ss=%0.2f\n",s,ss);
}
}
2.
#include
main()
{float x;int f;
printf("Please input x\n");
scanf("%f",&x);
if(x==0)
f=0;
else f=(x>0)?1:-1;
printf("x=%f,f(x)=%d\n",x,f);
}
3.
#include
main()
{int x,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);
else if(a==0 && b==0) printf("%d能被3,5整除\n" x); else if(a==0 && c==0) printf("%d能被3,7整除\n",x); else if(b==0 && c==0) printf("%d能被5 7整除\n",x); else if(a==0) printf("%d能被3整除\n",x);
else if(b==0) printf("%d能被5整除\n",x);
else if(c==0) printf("%d能被7整除\n" x);
else printf("%d不能被3,5,7任意一个数整除\n",x); }
4.
#include
main()
{char op;
float d1,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()
{
int x,m,d;
printf("请输入你出生那年元旦的星期1至7 \n"); printf("请输入你的出生日期 mm/dd \n");
scanf("%d,%d,%d",&x,&m,&d);
switch ((m*30+d)/7)
{case 0:printf("你出生那天为星期%d",x);break;
case 1:printf("你出生那天为星期%d",x+1);break;
case 2:printf("你出生那天为星期%d",x+2);break;
case 3:printf("你出生那天为星期%d",x+3);break;
case 4:printf("你出生那天为星期%d",x+4);break;
case 5:printf("你出生那天为星期%d",x+5);break;
case 6: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的值为零显示“Thank You 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
main()
{int i;
for(i=1;i<=200;i++)
{if(i%7!=0) continue; printf("%d ",i);
}
}
2.
#include
main()
{int i,max=0;
for(i=0;i<=1000;i++) {if(i%13!=0) continue;
if (max<i)< p="">
max=i;
}
printf("max=%d\n",max); }
3.
#include
main()
{int i;float x,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
void main()
{int i,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()
{
float x,y;
printf("input x:"); scanf("%f",&x); for (;x>=0;) {
if(x>0&&x<100) {
y=3*x+1;
printf("%f",y);
}
else if(x>=100) {
y=x*x-1; printf("%f",y); </i)<>
</b)<>
</b)<>。

相关文档
最新文档