int i,t,s; s=0; t=1;
for(i=1;i<=100;i++) { t=-t; s=s+(-t)*i; }
printf(\"%d\\n\ system(\"pause\"); return 0; }
2.求:1+(1+2)+(1+2+3)+…+(1+2+3+….10) 的和
#include int main() { int i,t,s; s=0; t=0; for(i=1;i<=10;i++) { t=t+i; s=s+t; } printf(\"%d\\n\ system(\"pause\"); return 0; } 3. 求n的值,其中a是一个不为0的数字,例如2+22+222+2222+22222,其中数字a和n由键盘输入。 #include int a,n,i=1,sn=0,tn=0; printf(\"a,n:\"); scanf(\"%d %d\ while(i<=n) {tn=tn+a; sn=sn+tn; a=a*10; i++; } printf(\"%d\\n\ system(\"pause\"); return 0; } 4. 有一个函数如下: x (x<5) y= 2x+6 (5<=x<15) 2x-6 (x>=15) 输入x的值,计算出相应的y值。 #include { int x,y; printf(\"输入X:\"); scanf(\"%d\ if(x<5) { y=x; printf(\"x=%3d,y=x=%d\\n\ } else if(x>=5&&x<15) {y=2*x+6; printf(\"x=%3d,y=2*x+6=%d\\n\ } else {y=2*x-6; printf(\"x=%3d,y=2*x-6=%d\\n\ } system(\"pause\"); return 0; } 5. 某国的税收政策为:1000元以下免税,1000~2000元缴纳5%的税,2000~4000元上税10%,4000元以上按20%交税。试编写程序,输入一个人的收入,计算其需要上缴的税额。 #include float a; scanf(\"%f\ if(a<=1000) { printf(\"免税\ } if(a>1000&&a<=2000) { printf(\"%f\ } if(a>2000&&a<=4000) { printf(\"%f\ } else printf(\"%f\ system(\"pause\"); return 0; } 6. 编程分段统计学生成绩,输入为负数时结束。要求按90-100、80-89、70-79、60-69、60以下五档分别统计各分数段人数 #include float score; int a[6]={0,0,0,0,0,0}; char grade; int i; do{ scanf(\"%f\ switch((int)(score/10)) {case 10: case 9: a[0]=a[0]+1;break; case 8: a[1]=a[1]+1;break; case 7: a[2]=a[2]+1;break; case 6: a[3]=a[3]+1;break; case 5: case 4: case 3: case 2: case 1: case 0: a[4]=a[4]+1; } }while(score>0); printf(\"90~~100: %d\\n\ printf(\"80~~89: %d\\n\ printf(\"70~~79: %d\\n\ printf(\"60~~69: %d\\n\ printf(\"60一下: %d\\n\ system(\"pause\"); return 0; } 7.某班有45个同学,现在输入所有同学的计算机成绩。编程求最高分、最低分和不及格的人数。 #include int max(int a[45]); int min(int a[45]); int fail(int a[45]); int i,a[45],Max,Min,Fail; printf(\"请输入成绩:\\n\"); for(i=0;i<45;i++) scanf(\"%d\ printf(\"\\n\"); Max=max(a); Min=min(a); Fail=fail(a); printf(\"最大值是:%d\\n\ printf(\"最小值是:%d\\n\ printf(\"不及格是:%d\\n\ system(\"PAUSE\"); } int max(int a[45]) {int i,m;m=a[0]; for(i=0;i<45;i++) { if(m<=a[i]) m=a[i]; } return m; } int min(int a[45]) {int i,m;m=a[0]; for(i=0;i<45;i++) { if(m>a[i]) m=a[i]; } return m; } int fail(int a[45]) {int i,m=0; for(i=0;i<45;i++) { if(a[i]<60) m=m+1; } return m; } 8.求fibonacci数列的前20项。 #include int f[20]={1,1}; for(i=2;i<=20;i++) f[i]=f[i-2]+f[i-1]; for(i=0;i<20;i++) {if(i%5==0) printf(\"\\n\"); printf(\"%12d\ } printf(\"\\n\"); system(\"pause\"); return 0; } 9.一个数组有20个数组元素,试编程对这些数组元素从大到小排列。 #include int a[20]; int i,j,t; printf(\"输入20个数:\\n\"); for(i=0;i<20;i++) scanf(\"%d\ printf(\"\\n\"); for(j=0;j<19;j++) for(i=0;i<19-j;i++) if(a[i+1] > a[i]) { t= a[i+1] ; a[i+1] =a[i]; a[i] =t; } printf(\"输出的顺序数;\\n\"); for(i=0;i<20;i++) printf(\"%d\\n\ printf(\"\\n\"); system(\"PAUSE\"); return 0; } 10. 试编写程序,实现随机产生10个递增的整数,组成一个升序数组。然后从键盘再输入一个整数并把该数插入数组中,使数组仍然有序。 #include int a[11],i,j,t; scanf(\"%d\ for(i=0;i<10;i++) { a[i]=rand(); } for(j=0;j<10;j++) for(i=0;i<10-j;i++) if(a[i]>a[i+1]) { t=a[i]; a[i]=a[i+1]; a[i+1]=t; } for(i=0;i<11;i++) printf(\"%d\\n\ system(\"pause\"); return 0; } 11.有一个3×4的矩阵,编程输出最大元素的值,以及其所在的行号和列号。要求:数组里的元素不能用初始化的方式赋值,要从键盘输入。 见c程序设计P139页 #include int i,j,k,n,row=0,colum=0,max; int a[3][4]; for(k=0;k<3;k++) {for( n=0;n<4;n++) scanf(\"%d\ } max=a[0][0]; for(i=0;i<3;i++) for(j=0;j<4;j++) if(a[i][j]>max) {max=a[i][j]; row=i; colum=j; } printf(\"max=%d,row=%d,colum=%d\\n\ system(\"pause\"); } 12.编写一个函数,功能是返回一个一维int型数组的最大值。 #include #include int max(int a[10]); int i,a[10],Max; printf(\"请输入数值:\\n\"); for(i=0;i<10;i++) scanf(\"%d\ printf(\"\\n\"); Max=max(a); printf(\"最大值是:%d\\n\ system(\"PAUSE\"); } int max(int a[10]) {int i,m=a[0]; for(i=1;i<10;i++) {