c语言上机实验完整答案————————————————————————————————作者:————————————————————————————————日期:实验一自测练习1程序代码#include"stdio.h"void main(){int x;scanf("%d",&x);if (x%2 !=0)printf("%d is an odd\n",x);elseprintf("%d is an even\n",x);}运行结果自测练习2程序代码#include"stdio.h"void main(){int i,sum;i=1;sum=0;while (i<=100){sum=sum+i;i++;}printf("sum=%d\n",sum); }运行结果自测练习3程序代码#include"stdio.h"void main(){int i,n; long p;p=1;printf("Enter n:");scanf("%d",&n);for (i=1;i<=n;i++)p=p*i;printf("p=%ld\n",p);}运行结果自测练习4程序代码#include"stdio.h"int max(int x,int y) {int z;if (x>y) z=x;else z=y; return(z);}void main(){int a,b,c;scanf("%d,%d",&a,&b); c=max(a,b);printf("max=%d\n",c); }运行结果自测练习5程序代码#include"stdio.h"void main(){int x,y;for(x=0;x<=25;x++)for(y=0;y<=50;y++)if(4*x+y*2==100)printf("兔=%d,鸡=%\n",x,y); }运行结果#include(stdio.h)void main(){int a=5;double x;printf("%d %d",sizeof(int),sizeof(a));printf("%d %d",sizeof(double),sizeof(x));printf("%d %d\n",sizeof(float),sizeof(char));}实验二自测练习一程序代码#include(stdio.h)void main(){int a=5;double x;printf("%d %d",sizeof(int),sizeof(a));printf("%d %d",sizeof(double),sizeof(x));printf("%d %d\n",sizeof(float),sizeof(char));}运行结果自测练习二程序代码#include(stdio.h)void main(){int a=5;printf ("%d %d\n",a,a++);}运行结果自测练习三程序代码#include(stdio.h)void main(){int a,b,c;a=1;b=2;c=3;printf ("%d\n\t%d%d\n%d%d\t\b%d\n",a,b,c,a,b,c);}运行结果实验三程序代码#include<stdio.h>void main(){ int x,h,y,m,s;printf("input x: ");scanf("%d",&x);h=x/3600;y=x%3600;m=y/60;s=y%60;printf("%d小时%d分钟%d秒",h,m,s); }运行结果程序代码#include<stdio.h>void main(){char a,b,c;printf("input x: ");b=getchar();a=b-1;c=b+1;printf("%c,%c,%c,",a,b,c); }运行结果程序代码#include<stdio.h>#include<math.h>void main(){int x;printf("input: ");scanf("%d",&x);printf("八进制:%o",x); printf("十六进制:%x",x); }运行结果程序代码#include<stdio.h>#define p 3.1415926 void main(){float r,h,v;printf("输入r: "); scanf("%f",&r); printf("输入h: "); scanf("%f",&h);v=p*r*r*h;printf("v=%f",v);}运行结果程序代码#include<stdio.h>#include<math.h>void main(){float x,y,z,w;printf("本金x,存款年限y,年利率z\n"); scanf("%f,%f,%f",&x,&y,&z);w=x*y*z;printf("利息=%lf\n",w);}运行结果实验四自测一程序代码#include"stdio.h"void main(){int A,B,C,D;int a=0,b=1,c=1,d=3;A=a*b&&c-d;B=c-d&&a*b;C=--a||++b&&--c;D=++b&&--c||--a;printf("%d,%d,%d,%d,%d\n",A,B,C,D);}运行结果自测二程序代码#include<stdio.h>void main(){int a,b,c,t,n;scanf("%d,%d,%d",&a,&b,&c);if(b>a){t=a;a=b;b=t;};if(c>b){n=b;b=c;c=n;};printf("a=%d,b=%d,c=%d\n",a,b,c); }运行结果自测三程序代码#include"stdio.h"#include"string.h"void main(){char s[6];int a,b,c,d,A,a1,b1,c1,d1;printf("输入一个小于六位的数\n");scanf("%s",&s);printf("%d\n",strlen(s));printf("再次输入这个数\n");scanf("%d",&A);a=A/10000; a1=A-a*10000;b=a1/1000;b1=a1-b*1000;c=b1/100;c1=b1-c*100;d=c1/10;d1=c1-d*10;if(a!=0)printf("%d%d%d%d%d",d1,d,c,b,a);else{if(b!=0)printf("%d%d%d%d",d1,d,c,b);else{if(c!=0)printf("%d%d%d",d1,d,c);else{if(d!=0)printf("%d%d",d1,d);elseprintf("%d",d1);}}}}运行结果自测四程序代码#include<stdio.h>void main(){int n,i=0,h;printf("input a number\n");scanf("%d",&n);h=n-7*i;while(h>7){i=i+1;h=n-7*i;}switch(h){case 1: printf("星期一\n"); break ;case 2: printf("星期二\n"); break ;case 3: printf("星期三\n"); break ;case 4: printf("星期四\n"); break ;case 5: printf("星期五\n"); break ;case 6: printf("星期六\n"); break ;case 7: printf("星期日\n"); break ;}}运行结果自测五程序代码#include<stdio.h>void main(){int a,s,w;printf("input the weight of thing and s \n"); scanf("%d,%d",&a,&s);if(a<=15)printf("收费为5元\n");if(a>15&&a<=30)printf("收费9元\n");if(a>30&&a<=45)printf("收费12元\n");if(a>45&&a<=60){if(s<1000)printf("收费14元\n");else{ w=14+s/1000;printf("收费%d元\n",w);}}if(a>60){if(s<1000)printf("收费15元\n");else{w=15+2*(s/1000);printf("收费%d元\n",w);}}}运行结果自测练习五实验1程序代码#include<stdio.h>void main (){int i,j=1,a,b,c,d,e;for(i=10000;i<=99999;i+=5){ a=i/10000;b=i%10000/1000;c=i%1000/100;d=i%100/10;e=i%10;if (a+b+c+d+e==9)j=j+1;}printf("这样的五位数有%d个\n",j-1);}运行结果实验2程序代码#include<stdio.h>void main (){char a;int i;for (i=1;;i++){a=getchar();if(a=='\n') break;switch(a){case '0':printf(" zero ");break;case '1':printf(" one ");break;case '2':printf(" two ");break;case '3':printf(" three ");break;case '4':printf(" four ");break;case '5':printf(" five ");break;case '6':printf(" six ");break;case '7':printf(" seven ");break;case '8':printf(" eight ");break;case '9':printf(" nine ");break;}}}运行结果实验3程序代码#include<stdio.h> void main (){int i,j,s=0,a=0,n; printf("Input n :"); scanf("%d",&n); for (i=1;i<=n;i++) {for(j=1;j<=i;j++) a=a+j;s=s+a;a=0;}printf("s=%d\n",s); }运行结果实验4程序代码#include<stdio.h>void main (){int i,j,a=0;for (i=10;i<=1000;i++){for(j=1;j<i;j++)if (i%j==0) a=a+j;if (i==a) printf("i=%d\n",i); a=0;}getchar();getchar();}运行结果实验5程序代码#include<stdio.h>void main (){int i,j=1;for (i=1;i<6;i++){j=(j+1)*2;}printf("一共摘了%d只桃子",j);getchar();getchar();}运行结果实验六——11程序代码#include<stdio.h>void as(float a[8]){int i;float s=0.00;for(i=0;i<8;i++)s+=a[i];printf("8个数的和为%f\n",s);printf("8个数的平均数为%f\n",s/8);}void main(){int j;float b[8];printf("输入8个浮点数\n");for(j=0;j<8;j++)scanf("%f",&b[j]);as(b);}程序代码2程序代码#include<stdio.h>void as(long b[],long m ); void main(){long i,j,n,g=0;long a[1000];for(i=2;i<1000;i++){n=0;for(j=1;j<i;j++){if(i%j==0)n=n+1;}if(n-1==0){a[g]=i;g++;}}as(a,g);}void as(long b[],long m ){long i,j,s,N;for(N=6;N<1000;N+=2)for(i=0;i<m;i++){s=0;for(j=0;j<m;j++){s=b[i]+b[j];if(s==N){printf("%d符合歌德巴赫猜想\n",N); break;}}if(s==N)break;}}运行结果4程序代码#include<stdio.h>int y(int k);void main(){int a,b,c;printf(" 年月日\n");scanf("%d %d %d",&a,&b,&c);if(y(a)==0){switch(b){case 1:printf("这是该年中的第%d天\n",c); break;case 2:printf("这是该年中的第%d天\n",31+c); break;case 3:printf("这是该年中的第%d天\n",59+c); break;case 4:printf("这是该年中的第%d天\n",90+c); break;case 5:printf("这是该年中的第%d天\n",120+c); break;case 6:printf("这是该年中的第%d天\n",151+c); break;case 7:printf("这是该年中的第%d天\n",181+c); break;case 8:printf("这是该年中的第%d天\n",212+c); break;case 9:printf("这是该年中的第%d天\n",243+c); break;case 10:printf("这是该年中的第%d天\n",273+c); break;case 11:printf("这是该年中的第%d天\n",304+c); break;case 12:printf("这是该年中的第%d天\n",334+c); break;}}if(y(a)==1){switch(b){case 1:printf("这是该年中的第%d天\n",c);break;case 2:printf("这是该年中的第%d天\n",31+c);break;case 3:printf("这是该年中的第%d天\n",60+c);break;case 4:printf("这是该年中的第%d天\n",91+c);break;case 5:printf("这是该年中的第%d天\n",121+c);break;case 6:printf("这是该年中的第%d天\n",152+c);break;case 7:printf("这是该年中的第%d天\n",182+c);break;case 8:printf("这是该年中的第%d天\n",213+c);break;case 9:printf("这是该年中的第%d天\n",244+c);break;case 10:printf("这是该年中的第%d天\n",274+c);break;case 11:printf("这是该年中的第%d天\n",304+c);break;case 12:printf("这是该年中的第%d天\n",335+c);break;}}}int y(int k){if(k%4==0&&k%100!=0||k%400==0)return 1;elsereturn 0;}程序代码2程序代码#include<stdio.h>void as(long b[],long m ); void main(){long i,j,n,g=0;long a[1000];for(i=2;i<1000;i++){n=0;for(j=1;j<i;j++){if(i%j==0)n=n+1;}if(n-1==0){a[g]=i;g++;}}as(a,g);}void as(long b[],long m ) {long i,j,s,N;for(N=6;N<1000;N+=2)for(i=0;i<m;i++){s=0;for(j=0;j<m;j++){s=b[i]+b[j];if(s==N){printf("%d符合歌德巴赫猜想\n",N); break;}}if(s==N)break;}3#include<stdio.h>void zsx(int b[],int k);void main(){int i,j,n=0,g=0;int a[50];for(i=10;i<50;i++){n=0;for(j=2;j<i;j++)if(i%j==0)n=n+1;if(n==0){a[g]=i;g++;}}printf("两位数的绝对素数有:\n"); zsx(a,g);}void zsx(int b[],int k){int i,a,h,j,n=0;int c[50];for(i=0;i<=k;i++){ a=b[i]/10;h=b[i]%10;c[i]=h*10+a;}for(i=0;i<=k;i++){for(j=2;j<c[i];j++)if(c[i]%j==0)n=n+1;if(n==0)printf("%d ",c[i]);} printf("\n");}#include<stdio.h>int y(int k);void main(){int a,b,c;printf(" 年月日\n");scanf("%d %d %d",&a,&b,&c);if(y(a)==0){switch(b){case 1:printf("这是该年中的第%d天\n",c); break; case 2:printf("这是该年中的第%d天\n",31+c); break; case 3:printf("这是该年中的第%d天\n",59+c); break; case 4:printf("这是该年中的第%d天\n",90+c); break; case 5:printf("这是该年中的第%d天\n",120+c); break; case 6:printf("这是该年中的第%d天\n",151+c); break; case 7:printf("这是该年中的第%d天\n",181+c); break; case 8:printf("这是该年中的第%d天\n",212+c); break; case 9:printf("这是该年中的第%d天\n",243+c); break; case 10:printf("这是该年中的第%d天\n",273+c); break; case 11:printf("这是该年中的第%d天\n",304+c); break; case 12:printf("这是该年中的第%d天\n",334+c); break; }}if(y(a)==1){switch(b){case 1:printf("这是该年中的第%d天\n",c);break; case 2:printf("这是该年中的第%d天\n",31+c);break; case 3:printf("这是该年中的第%d天\n",60+c);break; case 4:printf("这是该年中的第%d天\n",91+c);break; case 5:printf("这是该年中的第%d天\n",121+c);break;case 6:printf("这是该年中的第%d天\n",152+c);break; case 7:printf("这是该年中的第%d天\n",182+c);break; case 8:printf("这是该年中的第%d天\n",213+c);break; case 9:printf("这是该年中的第%d天\n",244+c);break; case 10:printf("这是该年中的第%d天\n",274+c);break; case 11:printf("这是该年中的第%d天\n",304+c);break; case 12:printf("这是该年中的第%d天\n",335+c);break; }}}int y(int k){if(k%4==0&&k%100!=0||k%400==0)r eturn 1;elser eturn 0;}#include<stdio.h>float f(float n,float x){float k;k=(n+x)*(n+x)*(n+x)+(n+x)-1;return k;}void main(){float a;float x;printf("input two number\n");scanf("%f %f",&a,&x);printf("%f\n",f(a,x));}#include<stdio.h> long p(int n){int i,s=1;for(i=1;i<=n;i++)s=s*i;return s;}long s(int b){int i,m=0;for(i=1;i<=b;i++)m=m+p(i);return m;}void main(){int x,y;printf("input two number\n"); scanf("%d %d",&x,&y); printf("%f\n",(s(x)*1.0)/s(y)); }#include<stdio.h>long p(int a){static j;long s=1;for(j=1;j<=a;j++)s=s*j;return s;}void main(){static i;float m=0;for(i=1;((i+1)*1.0)/p(i)>=1e-6;i++)m=m+((i+1)*1.0)/p(i);printf("%f\n",m);}#include<stdio.h>char b[100];void ms(char a[]){int i,s1=0,s2=0,s3=0,s4=0;for(i=0;a[i]!='\0';i++){if(a[i]==' ')s1=s1+1;else if(a[i]>='0'&&a[i]<='9')s2=s2+1;else if(a[i]>='a'&&a[i]<='z'||a[i]>='A'&&a[i]<='Z')s3+=1;elses4+=1;}printf("数字:%d;字母:%d;空格:%d;其他字符:%d\n",s2,s3,s1,s4); }void main(){gets(b);ms(b);}1#include<stdio.h>#include<string.h>void main(){char a[10]="12456",b[2];char c[11];int i,j,n;n=strlen(a);printf("%d\n",n);printf("input a number\n");gets(b);if(a[0]>b[0]){c[0]=b[0];for(i=1;i<=n+1;i++)c[i]=a[i-1];}else if(b[0]>a[n-1]){for(i=0;i<=n-1;i++)c[i]=a[i];c[n]=b[0];c[n+1]='\0';}else{for(i=0;i<=n-1;i++){if(b[0]>=a[i]&&b[0]<=a[i+1]){for(j=0;j<=i;j++)c[j]=a[j];c[i+1]=b[0];for(j=i+2;j<=n;j++)c[j]=a[j-1];c[j]='\0';break; }}}printf("%s\n",c); }2#include<stdio.h>#include<string.h>void main(){char a[100];int i,k=0,n;printf("input 字符串\n"); gets(a);n=strlen(a);for(i=0;i<n/2;i++){ if(a[i]!=a[n-i-1]){ printf("No\n");break;}elsek=k+1;}if(k==n/2)printf("Yes\n");}3#include<stdio.h>#define n 30void sp(float b[]);void su(float c[]);void main(){int i;float a[n];printf("输入%d个人的成绩\n",n);for(i=0;i<n;i++){scanf("%f",&a[i]);}sp(a);su(a);}void sp(float b[]){int i;float s=0,max,min;for(i=0;i<n;i++)s=s+b[i];max=b[0];min=b[0];for(i=1;i<n;i++){if(b[i]>=max)max=b[i];elsemin=b[i];}printf("平均分:%f\n max:%f\n min:%f\n ",(s*1.0)/n,max,min); }void su(float c[]){int i,s1=0,s2=0,s3=0,s4=0,s5=0;for(i=0;i<n;i++){ if(c[i>=90&&c[i]<=100])s1+=1;if(c[i]>=80&&c[i]<90)s2+=1;if(c[i]>=70&&c[i]<80)s3+=1;if(c[i]>=60&&c[i]<70)s4+=1;if(c[i]<60)s5+=1;}printf("90~100有%d人\n",s1);printf("80~89有%d人\n",s2);printf("70~79有%d人\n",s3);printf("60~69有%d人\n",s4);printf("59以下有%d人\n",s5);}4-1#include<stdio.h>#define n 10void main(){ int a[n][n],i,j;for(i=1;i<n;i++){a[i][i]=1;a[i][1]=1;}for(i=3;i<n;i++){for(j=2;j<i;j++)a[i][j]=a[i-1][j-1]+a[i-1][j];}for(i=1;i<n;i++){ printf(" ");for(j=1;j<=i;j++)printf("%-5d",a[i][j]);printf("\n");}}4-2#include<stdio.h>#define N 12void main(){int a[N][N],i,j,n;for(i=1;i<=N;i++){a[i][i]=1;a[i][1]=1;}for(i=3;i<=N;i++){for(j=2;j<i;j++)a[i][j]=a[i-1][j-1]+a[i-1][j];}for(i=1;i<=N;i++){for(n=1;n<=(N+8-i)-N/2;n++)printf(" ");for(j=1;j<=i;j++){ printf("%-3d",a[i][j]);printf(" ");}printf("\n");}printf("\n");}5#include"stdio.h"#define N 3void s(int b[][N]);void main(){int i,j,a[N][N];printf("input %d number\n",N*N);for(i=0;i<N;i++)for(j=0;j<N;j++)scanf("%d",&a[i][j]);s(a);for(i=0;i<N;i++)printf("第%d行的最大数为%d\n",i+1,a[i][N-1]); }void s(int b[N][N]){int i,j,t;for(i=0;i<N;i++)for(j=0;j<N-1;j++){if(b[i][j]>=b[i][j+1]){t=b[i][j+1];b[i][j+1]=b[i][j];b[i][j]=t;} }}6#include<stdio.h>void main(){ char a[1000];int i,s=0;printf("输入一串英文单词,单词中间以空格分开\n"); gets(a);for(i=0;a[i]!='\0';i++)if(a[i]==' ')s+=1;printf("该字符串共有%d个单词\n",s+1);}7#include<stdio.h>void main(){char a[100],b[100],c[200];int i,j;printf("输入两个字符串\n");gets(a);gets(b);for(i=0;a[i]!='\0';i++)c[i]=a[i];for(j=0;b[j]!='\0';j++)c[i+j]=b[j];c[i+j]='\0';printf("%s\n",c);}8#include<stdio.h>#include<string.h>void main(){int i,j=0,n;char a[100],c[100];printf("输入一个字符串\n"); gets(a);n=strlen(a);for(i=1;i<n;i++){if(a[i]!='b'){c[j]=a[i];j++;}}c[j]='\0';printf("%s\n",c);}。