安徽大学_C语言平时作业 下载本文

printf(\输入的是%ld位数,逆序数为%ld\\n\}

实验六

1、编程:输出200以内所有能被7整除的数。 #include main() {int i;

for(i=0;i<=200;i+=7) printf(“M”,i); }

2、从键盘输入n个数(n<10),找出其中最小值,请编写相应程序。 #include main()

{int n,i,a,min; printf(“n=”); scanf(“%d”,&n); for(i=1;i<=n;i++) {scanf(“%d”,&a); if(i==1)min=a; if(min>a)min=a; }

printf(“min=%d”,min);

}

3、键盘输入正整数m和n(m

#include main()

{int m,n,i,x1=0,x2=0; printf(“input m,n(m

printf(“x1(奇数之和)=%d,x2(偶数之和)=%d\\n”,x1,x2); }

4.编程,计算函数y的值。要求键盘接收自变量x的值,若x 的值不为零,则计算函数y的值并输出,再从键盘接收下一个x的值,……,直到x的值为零,则显示“Thank You,Bye!”,尔后结束程序,已知函数y与自变量x的关系为:

#include main()

{float x=1,y; do

{if(x<0) printf(\输入错误(x<0)!请重新输入\\n\printf(\请输入x=\scanf(\

if(x>0&&x<100)y=3*x+10; if(x>=100)y=x*x*x-20;

if(x>0)printf(\}

while(x!=0);

printf(\,Bye!\\n\}

5.编写程序:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

#include main() {int i;

float f1=1,f2=2,f,s=0; for(i=1;i<=20;i++) {f=f2/f1;s+=f;

f=f1;f1=f2;f2=f+f2; }

printf(\}

6.我国现有人口13亿,设年增长率为1%,编写程序,计算多少年后增加到20亿。 #include main()

{float p=13; int n=0; do

{p=p*1.01; n++; }

while(p<20.);

printf(\年后人口增加到20亿!\\n\}

7.求解爱因斯坦数学题。有一条长阶梯,若每步跨2阶,则最后剩余1阶;若每步跨3阶,则最后剩2阶;若每步跨5阶,则最后剩4阶;若每步跨6阶,则最后剩5阶;若每步跨7阶,最后才正好一阶不剩。请问,这条阶梯共有多少阶?

#include main() { int n=7;

do

{if(n%2!=1){n++;continue;} if(n%3!=2) {n++;continue;} if(n%5!=4) {n++;continue;} if(n%6!=5) {n++;continue;} if(n%7!=0) {n++;continue;} break; }

while(1);

printf(\这条阶梯共有%d阶!\\n\}

(说明:该题应有多解:119,329,??)

8.每个苹果0.8 元,第一天买2 个苹果,第二天开始,每天买前一天的2 倍,直至购买的苹果个数达到不超过100 的最大值。编写程序求每天平均花多少钱?(此题为选做)

#include main() {float s=0;

int n=1,p=0,d=0; do

{ d++; /*第d天*/

n=n*2; /*买n 个苹果*/ p=p+n; /*共p 个苹果*/ }

while(p+n*2<=100); s=p*0.8/d;

printf(\每天平均花%g元钱!\\n\}

9.编写程序,求一个整数任意次方的最后三位数。即求xy的最后三位数,要求x,y 从键盘输入。(注意xy的结果是否会溢出)。(此题为选做)

#include #include main()

{double x,y,m; int m3;

printf(\请输入x,y=\scanf(\m=pow(x,y);

m3=(int)m00;

printf(\的y次方为%g,其最后三位数是%0.3d\\n\}

实验七

1. 编写程序,从键盘输入6 名学生的5 门成绩,分别统计出每个学生的平均成绩。 #include main()

{int a,b,s; float v;

for(a=1;a<=6;a++) {v=0;

for(b=1;b<=5;b++)

{printf(\请输入第%d名学生的第%d门成绩:\ scanf(\ v=v+s; }

printf(\第%d名学生的平均成绩为:%g\\n\} }

2、打印出所有的\水仙花数\,所谓的\水仙花数\是指一个3位数,其各位数字的立方和等于该数本身。例如,153是一个\水仙花数\,因为有153=1*1*1+5*5*5+3*3*3 。

解(1)

#include main()

{int a,b,c,n;

for(a=1;a<=9;a++) for(b=0;b<=9;b++) for(c=0;c<=9;c++) {n=100*a+10*b+c;

if(n==a*a*a+b*b*b+c*c*c) printf(“%d\\n”,n); } } 解(2)

#include main()

{int a,b,c,n;

for(n=100;n<=999;n++) {a=n/100; b=n0/10; c=n;

if(n==a*a*a+b*b*b+c*c*c) printf(“%d\\n”,n); } }

3、请分别用三种循环结构编程计算: 1!+2!+3!+...+n!,n的值由键盘输入。 解(1)

#include main() {int n,i;

long p=1,sum=0;

printf(“n=”); scanf(“%d”,&n); for(i=1;i<=n;i++) {p*=i; sum+=p;

}

printf(“1!+2!+…+%d!=%ld\\n”,n,sum); } 解(2)

#include main() {int n,i=1;

long p=1,sum=0; printf(“n=”); scanf(“%d”,&n); while(i<=n) {p*=i; sum+=p; i++;

}

printf(“1!+2!+…+%d!=%ld\\n”,n,sum); } 解(3)

#include main() {int n,i=1;

long p=1,sum=0; printf(“n=”); scanf(“%d”,&n); do

{p*=i; sum+=p; i++;

}

while(i<=n);

printf(“1!+2!+…+%d!=%ld\\n”,n,sum); }

4. 用循环语句编写程序,其功能是计算:

s=1+12+123+1234+12345+123456+1234567 #include main()

{long i,t=0,s=0; for(i=1;i<=7;i++) {t=10*t+i;