一、求1!-2!+3!-。。。。+49!-50!#include int main(){ long int m=-1,a=1,n,s=0; for(n=1;n<=10;n++) { m=m*(-1); a=a*n*m; s=s+a; } printf("%d\n",s); return 0;}二、求1000以内的水仙花数#include int main(){ int a,b,c,m; for(m=0;m<1000;m++) { a=m/100; b=m%10; c=m/10%10; if(m==a*a*a+b*b*b+c*c*c) printf("%d\n",m); } return 0;}三、输出杨辉三角形前六行#include main(){ int a[6][6],i,j; for(i=0;i<6;i++) a[i][0]=a[i][i]=1; for(i=2;i<6;i++) for(j=1;j #include int main(){ int i,j,n,a[3][4],b[3]; for(i=0;i<3;i++) for(j=0;j<4;j++) a[i][j]=rand()%30; printf("矩阵:\n"); for(i=0;i<3;i++) for(j=0;j<4;j++) { printf("%3d",a[i][j]); n++; if(n%4==0) printf("\n"); } printf("每行元素之和:\n"); for(i=0;i<3;i++) b[i]=a[i][0]+a[i][1]+a[i][2]+a[i][3]; for(i=0;i<3;i++) printf("%3d",b[i]); printf("\n"); return 0;}第二种方法: #include #include int main() { int i,j,a[3][4],b[3]; for(i=0;i<3;i++) for(j=0;j<4;j++) a[i][j]=rand()%30; printf("矩阵:\n"); for(i=0;i<3;i++) { for(j=0;j<4;j++) printf("%3d",a[i][j]); printf("\n"); } printf("每行元素之和:\n"); for(i=0;i<3;i++) { b[i]=0; { for(j=0;j<4;j++) b[i]=b[i]+a[i][j]; printf("%3d",b[i]); } }printf("\n"); return 0; }五、用选择法对15个数从小到大排序#include int main(){ int i,j,a[15],k,t; printf("请输入15个数字:\n"); for(i=0;i<15;i++) scanf("%d",&a[i]); for(i=0;i<14;i++) { k=i; for(j=i+1;j<15;j++) if(a[k]>a[j]) {k=j; t=a[k];a[k]=a[i];a[i]=t;} } for(i=0;i<15;i++) printf("%d ",a[i]); printf("\n"); return 0;}六、用冒泡法对10个数从小到大排序#include int main(){ int a[10],i,j,t; printf("请输入10个数:\n"); for(i=0;i<10;i++) scanf("%d,",&a[i]); for(i=0;i<9;i++) for(j=0;j<9-i;j++) if(a[j]>a[j+1]) { t=a[j];a[j]=a[j+1];a[j+1]=t; } printf("排序后:\n"); for(i=0;i<10;i++) printf("%3d",a[i]); printf("\n"); return 0;}七、输出200---800之间的全部素数,要求每行输出10个素数#include int main(){ int i,m,n=0; for(i=200;i<=800;i++) { for(m=2;m #include int main(){ int i,j,t; char a[81]; gets(a); for(i=0;i a[j+1]) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } puts(a); return 0;}九、有一4行4列的整型数组a,从键盘上输入16个整数放入数组a中,并对a数组转置(行列互换)#include int main(){ int i,j,t,a[4][4]; printf("请输入16个数:\n"); for(i=0;i<4;i++) for(j=0;j<4;j++) scanf("%d,",&a[i][j]); for(i=0;i<4;i++) for(j=i+1;j<4;j++) { t=a[i][j]; a[i][j]=a[j][i]; a[j][i]=t; } printf("转置后:\n"); for(i=0;i<4;i++) {for(j=0;j<4;j++) printf("%4d",a[i][j]); printf("\n");} return 0;}十、3个字符串比较大小,输出最大的字符串#include #include int main(){ int i; char string[20]; char str[3][20]; for(i=0;i<3;i++) gets(str[i]); if(strcmp(str[0],str[1])>0) strcpy(string,str[0]); else strcpy(string,str[1]); if(strcmp(str[2],string)>0) strcpy(string,str[2]); printf("\nthe largest string is:\n%s\n",string); return 0;}十一、五位学生有四科成绩,求每个学生的总成绩和平均成绩#include int main(){ int i,j,a[5][4]; float sum,aver=0; for(i=0;i<5;i++) for(j=0;j<4;j++) scanf("%d,",&a[i][j]); for(i=0;i<5;i++) { sum=0; for(j=0;j<4;j++) sum+=a[i][j]; aver=sum/4; printf("第%d位学生的总成绩为:%f,平均分为:%f\n",i+1,sum,aver); } return 0;}十二、三行两列的数组行列互换#include int main(){ int a[2][3]={ {1,2,3},{4,5,6}},i,j,t,b[3][2]; for(i=0;i<2;i++) { for(j=0;j<3;j++) { printf("%5d",a[i][j]); b[j][i]=a[i][j]; } printf("\n"); } printf("\n"); for(i=0;i<3;i++) { for(j=0;j<2;j++) printf("%5d",b[i][j]); printf("\n"); } return 0;}