C语言程序设计实验指导高等教育出社.docx
C语言程序设计实验指导高等教育出社C语言程序设计部分实验参考答案 实验2 #include <stdio.h> int main/2-1-2 #include <stdio.h> int main/2-1-3 #include <stdio.h> int main/2-1-4 #include <stdio.h> int main/2-1/5 #include <stdio.h> int main/2-1-6 #include <stdio.h> int main/2-2-1 int x=3,y; y=x*x; printf("%d=%d*%dn",y,x,x); printf("%d*%d=%dn",x,x,y); return 0; int n=152,a,b,c; c=n%10; b=(n/10)%10; a=n/100; printf("整数%d 的个位数字是%d, 十位数字是%d, 百位数字是%dn",n, c, b, a); return 0; int math=87,eng=72,comp=93; printf("math=%d, eng=%d, comp=%d, average=%dn",math, eng, comp, (math+eng+comp)/3); return 0; int c=26,f; f=c*9/5+32; printf("celsius=%d, fahr=%dn",c, f); return 0; int c,f=150; c=f*5/9-32*5/9; printf("fahr=%d, celsius=%dn",f, c); return 0; double x, y; printf("Enter x:"); scanf_s("%lf",&x); if(x!=0) printf("f(%.2f)=%.1fn",x,y); return 0; y=1/x; y=0; else #include <stdio.h> int main/2-2-2 #include <stdio.h> int main/2-2-3 #include <stdio.h> #include<math.h> int main/2-2-4 #include <stdio.h> double x, y; printf("Enter x"); scanf_s("%lf",&x); if(x<0.0) y=pow(x+1,2)+2*x+1/x; y=sqrt(x); else printf("f(%.2f)=%.2fn",x,y); return 0; double money, rate,x=1.0; int i,year; printf("Enter money, year and rate:"); scanf("%lf %d %lf",&money,&year,&rate); for(i=1;i<=year;i+) x=x*(1+rate); printf("intrest=%.2fn",money*x-money); return 0; int celsius, fahr; fahr=100; celsius=5*(fahr-32)/9; printf("fahr=%d, celsius=%dn",fahr,celsius); return 0; #include<math.h> int main/2-2-5 #include <stdio.h> int main/2-2-6 #include <stdio.h> int main/2-3-1 #include <stdio.h> int main/2-3-2 int i,m,s=0; printf("Enter m:"); scanf("%d",&m); for(i=m;i<=100;i+) s=s+i; printf("sum=%dn",s); return 0; int i,sum=0; for(i=1;i<=100;i+) printf("sum=%dn",sum); return 0; sum=sum+i; int x, y; printf("Enter num1:"); scanf_s("%d",&x); printf("Enter num2:"); scanf_s("%d",&y); printf("%d+%d=%dn",x,y,x+y); printf("%d-%d=%dn",x,y,x-y); printf("%d*%d=%dn",x,y,x*y); printf("%d/%d=%dn",x,y,x/y); printf("%d%d=%dn",x,y,x%y); return 0; double x, y; printf("Enter x:"); scanf_s("%lf",&x); if(x=10) y=1/x; y=x; else printf("f(%.2f)=%.1fn",x,y); return 0; #include <stdio.h> int main/2-3-3 #include <stdio.h> int main/2-3-4 #include <stdio.h> int main/2-3-5 #include <stdio.h> int main/2-3-6 int low, uper; double fahr,celsius; printf("Enter low:"); int i,n; double s=1.0,t=1.0,sign=1.0; printf("Enter n:"); scanf("%d",&n); for(i=1;i<n;i+) printf("sum=%.3fn",s); return 0; sign=-sign; t=(t+3); s=s+1/t*sign; int i,n; double s=0.0; printf("Enter n:"); scanf("%d",&n); for(i=1;i<=n;i+) s=s+1.0/(2*i-1); printf("sum=%fn",s); return 0; int i,m,n; double s=0.0; printf("Enter m:"); scanf("%d",&m); printf("Enter n:"); scanf("%d",&n); for(i=m;i<=n;i+) s=s+1.0/i; printf("sum=%fn",s); return 0; scanf_s("%d",&low); printf("Enter uper:"); scanf_s("%d",&uper); printf("fahr celsiusn"); for(fahr=low;fahr<=uper;fahr+=2) return 0; celsius=5.0/9.0*(fahr-32.0); printf("%3.0f %6.1fn",fahr,celsius); #include <stdio.h> int main/2-3-7 #include <stdio.h> int main/2-3-8 #include <stdio.h> #include<math.h> int x, n,i; double p=1.0; printf("Enter x:"); scanf("%d",&x); printf("Enter n:"); scanf("%d",&n); for(i=1;i<=n;i+) p=p*x; printf("%d的%d次方是%.0fn",x, n,p); return 0; int m, n, i; double p,sum=0.0; printf("Enter m:"); scanf("%d",&m); printf("Enter n:"); scanf("%d",&n); p=1.0; for(i=1;i<=m;i+) p=p*i; sum=sum+p; p=1.0; for(i=1;i<=n;i+) p=p*i; sum=sum+p; printf("sum=%.0fn",sum); return 0; int main/2-4-1 #include <stdio.h> #include<math.h> int main/2-4-4 #include <stdio.h> #include<math.h> int main/2-2-5 #include <stdio.h> int main/2-2-6 int x, y; printf("Enter num1:"); scanf_s("%d",&x); printf("Enter num2:"); scanf_s("%d",&y); printf("%d+%d=%dn",x,y,x+y); printf("%d-%d=%dn",x,y,x-y); printf("%d*%d=%dn",x,y,x*y); printf("%d/%d=%dn",x,y,x/y); printf("%d%d=%dn",x,y,x%y); double x, y; printf("Enter x:"); scanf_s("%lf",&x); if(x=10) y=1/x; y=x; else printf("f(%.2f)=%.1fn",x,y); return 0; double sum=0.0,i; for(i=100;i<=1000;i+) printf("sum=%.2fn",sum); return 0; sum+=sqrt(i); int n,i; printf("Enter n:"); scanf("%d",&n); for(i=0;i<=n;i+) printf("pow(3,%d)=%.0fn",i,pow(3.0,i); return 0; / return 0; return 0; #include <stdio.h> int main/2-3-1 #include <stdio.h> int main/2-3-2 #include <stdio.h> int main/2-3-3 #include <stdio.h> int main/2-3-4 int i,n; double s=0.0; printf("Enter n:"); scanf("%d",&n); for(i=1;i<=n;i+) s=s+1.0/(2*i-1); printf("sum=%fn",s); return 0; int i,m,n; double s=0.0; printf("Enter m:"); scanf("%d",&m); printf("Enter n:"); scanf("%d",&n); for(i=m;i<=n;i+) s=s+1.0/i; printf("sum=%fn",s); return 0; int i,m,s=0; printf("Enter m:"); scanf("%d",&m); for(i=m;i<=100;i+) s=s+i; printf("sum=%dn",s); return 0; int i,sum=0; for(i=1;i<=100;i+) printf("sum=%dn",sum); return 0; sum=sum+i; #include <stdio.h> int main/2-3-5 #include <stdio.h> int main/2-3-6 #include <stdio.h> int main/2-3-7 int m, n, i; double p,sum=0.0; printf("Enter m:"); scanf("%d",&m); printf("Enter n:"); scanf("%d",&n); p=1.0; for(i=1;i<=m;i+) p=p*i; sum=sum+p; p=1.0; for(i=1;i<=n;i+) int low, uper; double fahr,celsius; printf("Enter low:"); scanf_s("%d",&low); printf("Enter uper:"); scanf_s("%d",&uper); printf("fahr celsiusn"); for(fahr=low;fahr<=uper;fahr+=2) return 0; celsius=5.0/9.0*(fahr-32.0); printf("%3.0f %6.1fn",fahr,celsius); int i,n; double s=1.0,t=1.0,sign=1.0; printf("Enter n:"); scanf("%d",&n); for(i=1;i<n;i+) printf("sum=%.3fn",s); return 0; sign=-sign; t=(t+3); s=s+1/t*sign; p=p*i; sum=sum+p; printf("sum=%.0fn",sum); return 0; #include <stdio.h> int main/2-3-8 #include <stdio.h> #include<math.h> int main/2-4-1 #include <stdio.h> #include<math.h> int main/2-4-4 double sum=0.0,i; for(i=100;i<=1000;i+) printf("sum=%.2fn",sum); return 0; sum+=sqrt(i); int n,i; printf("Enter n:"); scanf("%d",&n); for(i=0;i<=n;i+) printf("pow(3,%d)=%.0fn",i,pow(3.0,i); return 0; int x, n,i; double p=1.0; printf("Enter x:"); scanf("%d",&x); printf("Enter n:"); scanf("%d",&n); for(i=1;i<=n;i+) p=p*x; printf("%d的%d次方是%.0fn",x, n,p); return 0; 实验3 #include<stdio.h> #include<math.h> int main/3-1 double a, b, c, d; printf("Enter a, b, c: "); scanf("%lf%lf%lf",&a,&b,&c); d=b*b-4*a*c; if(a=0) if(b=0) if(c=0) printf("系数均为,方程无意义!n"); printf("a、b为,c不为,方程不成立!n"); else else printf("x=%.2fn",c/b); else if(d>=0) printf("x1=%.2fn",(-b+sqrt(d)/(2*a); printf("x1=%.2fn",(-b-sqrt(d)/(2*a); printf("x1=%.2f+%.2fin",-b/(2*a),sqrt(-d)/(2*a); printf("x1=%.2f-%.2fin",-b/(2*a),sqrt(-d)/(2*a); else return 0; #include<stdio.h> int main/3-2 #include<stdio.h> int main/3-3 int letter=0,blank=0,digit=0,other=0,i; char ch; printf("Input 10 characters: "); for(i=0;i<10;i+) ch=getchar; if(ch>='a'&&ch<='z'|ch>='A'&&ch<='Z') letter+; int x,y; printf("Enter x: "); scanf("%d",&x); if(x<0) y=-1; y=0; y=1; else if(x=0) else printf("sign(%d)=%dn",x,y); return 0; else if(ch=' '|ch='n') blank+; digit+; other+; else if(ch<='9'&&ch>='0') else printf("letter=%d, blank=%d, digit=%d, other=%dn",letter,blank,digit,other); return 0; #include<stdio.h> int main/3-4 #include<stdio.h> int main/3-5 int choice,count; for(count=0;count<5;count+) printf("1applen"); printf("2pearn"); printf("3orangen"); printf("4grapen"); printf("0exitn"); printf("Enter your choice:"); scanf("%d",&choice); switch(choice) case 0: return 0; case 1:printf("price is %.2fn",3.0);break; char grade; printf("Input Grade: "); grade=getchar; switch(grade) return 0; case 'A':; case 'a':printf("%c对应的百分制成绩区间是100n",grade);break; case 'B':; case 'b':printf("%c对应的百分制成绩区间是90n",grade);break; case 'C':; case 'c':printf("%c对应的百分制成绩区间是79n",grade);break; case 'D':; case 'd':printf("%c对应的百分制成绩区间是69n",grade);break; case 'E':; case 'e':printf("%c对应的百分制成绩区间是59n",grade);break; default:printf("数据输入错误n"); case 2:printf("price is %.2fn",2.5);break; case 3:printf("price is %.2fn",4.1);break; case 4:printf("price is %.2fn",10.2);break; default:printf("price is %.2fn",0.0); return 0; #include<stdio.h> int main/3-6 #include<stdio.h> #include<math.h> int main/3-7 #include<stdio.h> int main/3-8 double salary,rate; printf("Enter the salary: "); scanf("%lf",&salary); if(salary<=850) rate=0.0; rate=0.05; else if(salary<=1350.0) double a,b,c,s; printf("Enter 3 sides of the triangle: "); scanf("%lf %lf %lf",&a,&b, &c); if(a+b>c&&a+c>b&&b+c>a) s=(a+b+c)/2; printf("area=%.2f; perimeter=%.2fn",sqrt(s*(s-a)*(s-b)*(s-c),a+b+c); printf("These sides do not correspond to a valid trianglen"); int i; double grade; for(i=0;i<5;i+) return 0; printf("Enter grade: "); scanf("%lf",&grade); if(grade<60.0) printf("Failn"); printf("Passn"); else else return 0; else if(salary<=2850.0) rate=0.1; rate=0.15; rate=0.2; else if(salary<=5850.0) else printf("tax=%.2fn",rate*(salary-850); return 0; #include<stdio.h> int main/3-9 #include<stdio.h> int main/3-10 char sign; int x,y; printf("输入x运算符y:"); scanf("%d%c%d",&x,&sign, &y); int i,n,grade,a=0,b=0,c=0,d=0,e=0; printf("Enter n: "); scanf("%d",&n); for(i=0;i<n;i+) printf("The number of A(90100):%dn",a); printf("The number of B(8089):%dn",b); printf("The number of C(7079):%dn",c); printf("The number of D(6069):%dn",d); printf("The number of E(059):%dn",e); return 0; printf("Enter grade %d: ",i+1); scanf("%d",&grade); switch(grade/10) case 9: case 10:a+;break; case 8:b+;break; case 7:c+;break; case 6:d+;break; case 5: case 4: case 3: case 2: case 1: case 0:e+;break; if(sign='*') printf("%d * %d = %dn",x,y,x*y); printf("%d / %d = %dn",x,y,x/y); printf("%d Mod %d = %dn",x,y,x%y); printf("运算符输入错误!n"); else if(sign='/') else if(sign='%') else return 0; 实验4 #include<stdio.h> #include<cmath> int main/4-1-2 #include<stdio.h> int main/4-1-3 int x,sum; sum=0; printf("Input integers:"); scanf("%d",&x); while(x>0) printf("The sum of the odd numbers is %dn",sum); if(x%2!=0) sum=sum+x; scanf("%d",&x); int flag,denominator; double s,eps,item; printf("Input eps:"); scanf("%lf",&eps); s=0.0; flag=1; denominator=1; item=1.0; while(fabs(item)>eps) printf("s=%.6fn",s); return 0; item=flag*1.0/denominator; s=s+item; flag=-flag; denominator=denominator+3; return 0; #include<stdio.h> int main/4-1-4 int num,count; printf("Input an integer:"); scanf("%d",&num); count=0; do num=num/10; count+; while(num!=0); printf("count=%dn",count); return 0; #include<stdio.h> int main/4-1-5 int main/4-1-6 #include<stdio.h> int n,s=0,c=0; printf("Input an integer:"); scanf("%d",&n); do s+=n%10; n/=10; c+; int n,x,min,i; printf("Input n:"); scanf("%d",&n); printf("Input numbers:"); scanf("%d",&x); min=x; for(i=1;i<n;i+) printf("min=%dn",min); return 0; scanf("%d",&x); if(x<min) min=x; while(n); printf("count=%d, sum=%dn",c,s); return 0; int main/4-1-7 #include<stdio.h> int main/4-1-8 #include<stdio.h> int main/4-1-9 #include<stdio.h> #include<math.h> int main/4-2-2 int m,n,i,j,st,c=0; printf("Input m: "); int n,i; double h,sum=0.0; printf("Input height: "); scanf("%lf",&h); printf("Input n: "); scanf("%d",&n); sum+=h; for(i=1;i<=n;i+) printf("distance=%.1fn",sum); printf("height=%.1fn",h); return 0; sum+=h; h/=2.0; int a,n,i,s=0,t=0; printf("Input a, n:"); scanf("%d%d",&a,&n); for(i=0;i<n;i+) printf("s=%dn",s); return 0; t=10*t+a; s+=t; double a,b,c,s=0.0; int i,n; printf("Input n:"); scanf("%d",&n); for(a=1.0,b=1.0,i=0;i<n;i+,c=a+b,a=b,b=c) s+=(1.0+a/b); printf("s=%.2fn",s); return 0; scanf("%d",&m); if(m=1) m+; printf("Input n: "); scanf("%d",&n); for(i=m;i<=n;i+) return 0; st=sqrt(double)i); for(j=2;j<=st;j+) if(!(i%j) break; if(j>st) printf("%d ",i); c+; if(!(c%6) printf("n"); #include<stdio.h> int main/4-2-3 #include<stdio.h> int main/4-2-4 int m,n,k,a,b,c,tmp; printf("Input m: "); scanf("%d",&m); printf("Input n: "); int money,f1,f2,f5,count=0; printf("Input money: "); scanf("%d",&money); for(f1=1;f1<=money-7;f1+) for(f2=1;f2<=money-6;f2+) for(f5=1;f5<=money-3;f5+) if(f1+2*f2+5*f5=money) count+; printf("count=%dn",count); for(f1=1;f1<=money-7;f1+) return 0; for(f2=1;f2<=money-6;f2+) for(f5=1;f5<=money-3;f5+) if(f1+2*f2+5*f5=money) printf("fen5: %d fen2: %d fen1: %dn",f5,f2,f1); scanf("%d",&n); for(k=m;k<=n;k+) return 0; tmp=k; a=tmp%10; tmp/=10; b=tmp%10; tmp/=10; c=tmp; if(a*a*a+b*b*b+c*c*c=k) printf("%dt(%d*%d*%d+%d*%d*%d+%d*%d*%d=%d)n",k,c,c,c,b,b,b,a,a,a,k); #include<stdio.h> int main/4-2-5 #include<stdio.h>/5-2 int sign(int x) int main int x; printf("Enter x:"); scanf("%d",&x); printf("sign(%d)=%dn",x,sign(x); if(x>0) return 1; return 0; if(x=0) return -1; int i,j,s; for(i=1;i<=200;i+) return 0; s=1; for(j=2;j<=i/2;j+) if(i%j=0) s=s+j; if(s=i) printf("%d=1",i); for(j=2;j<=i/2;j+) if(i%j=0) printf("+%d",j); printf("n"); return 0; #include<stdio.h>/5-3 int even(int x) int main #include<stdio.h>/5-4 #include<math.h> double distance(double x1,double y1, double x2, double y2) int main #include<stdio.h>/5-5 #include<math.h> int prime(int m) int main int m,n,c=0,s=0,k; printf("Input m:"); int k,sqrtm=sqrt(double)m); for(k=2;k<=sqrtm;k+) if(m%k=0) return 0; double x1, y1, x2, y2; printf("Input (x1, y1):"); scanf("%lf%lf",&x1,&y1); printf("Input (x2, y2):"); scanf("%lf%lf",&x2,&y2); p