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

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

安徽大学C语言实验平台

作业答案

Revised by Liu Jing on January 12, 2021

实验三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

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);

{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);

{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

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);

}

else

{printf("thank you bey !");break;} scanf("%f",&x);

}

}

6.

#include

main()

{

int n,i;

double t,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,π=%f\n",n,t);

}

相关主题
相关文档
最新文档