printf(“s=%d\\t count=%d\\n”,s,count);
}
2.下面的程序用来分别求出矩阵两条对角线上的各元素之和。 #include “stdio.h” main()
{ int a[3][3]={1,2,3,4,5,6,7,8,9};
int sum1,sum2,k,j; sum1=sum2=0; for(k=0;k<3;k++) ____________; for(k=0;k<3;k++)
for(j=2;_________;j--)
if(_________) sum2+=a[k][j];
printf(“sum1=%d\\tsum2=%d\\n”,sum1,sum2); } 3.函数int index(char string[ ],char substr[ ])用于检查字符串string中是否包含字符串substr,
如果包含则返回substr在string中的起始位置,即substr的第一字符在string中的下标值,否则返回-1。
int index(char string[ ], char substr[ ]) { int j,k,t;
for(j=0;string[j]!= ?\\0?;j++)
{for(k=j,t=0;_____________________;k++,t++) ; if(substr[t]== ?\\0?) __________________; }
___________________; }
4.函数delete_char(char str[ ],char ch)的功能从字符串str中删除所与的由ch指定的字符。 void delete_char(char str[ ],char ch) { int j,k;
for(j=k=0;_____________;j++)
if(str[j]!=ch) ________________; s[k]= ?\\0?; }
5.求所有不超过200的满足条件的数,该数的平方是具有对称性质的回文数。所谓回文
数是指一个数的左右是对称的,即最左边的数位和最右边的数位相同,次左边的数位与次右边的数位相同,依此类推,如121,12321。 #include “stdio.h” main( )
{int decs[10],n,j,t; unsigned a; for(n=10;n<200;n++) {a=n*n;
for(j=1;a!=0;j++)
{ ______________; a/=10; }
for(t=0;t if(decs[t]!=decs[j-t-1]) ___________; if(_________________) printf(“=*==m”,n,n,n*n); } } 6.下面的程序用于从键盘输入一行字符(规定一行字符最多只能80个字符),并将其中的空格字符都轮换为字符 ?*?,并存入数组str中,若是其他字符则原样存入数组str中。 #include “stdio.h” main( ) {int i; char ch,str[81]; for(i=0;________________;i++) { if((ch=getchar())= = ?\\n?) ____________________; if(ch= =?\\40?) _________________; str[i]=ch; } str[i]= ?\\0?; puts(str); } 7.下面的程序用于将一个无符号整数转换为八进制表示(各数位用相应数字字符表示)存入字符数组中。 #include “stdio.h” main( ) {char oct[32],i=0,j,ch; unsigned long num; printf(“input an interger:”); scanf(“%lu”,&n); do { oct[i++]=___________; num/=8; }while(_______________); for(--i,j=i;j>i/2;j--) {ch=oct[j]; oct[j]=oct[i-j]; oct[i-j]=ch; } ________________; puts(oct); } 8. 已知一矩阵,下面的程序实现将每行的各元素均除以该行上绝对值最大的元素。 #include #include ______________ main() { float a[3][4]={{1.3,2.7,3.6,-2.1},{2,3,-6.2,4.7},{-5,3,4,1.27}}; int i,j; float max; for(i=0;i<3;i++) { ____________; for(j=1;j<4;j++) if(fabs(a[i][j])>fabs(max)) max=a[i][j]; for(j=0;j<4;j++) ________________; } for(i=0;i<3;i++) {for(j=0;j<4;j++) printf(\ printf(\ } } 9.x[i],y[i]表示点d(i)的平面坐标,求d(0)至d(1)、d(1)至d(2)、...、d(4) 至d(0)的连线所构成的5边形面积。 #include \ #include \ void main() {int i; float s,a,b,c,sdim; float x[5]={-4.5,0.5,4.2,2.7,-3}, y[5]={2.3,4.7,1.3,-2.5,-3.3}; _____________; for(i=2;i<5;i++) { a=____________________________________________________________; b=sqrt((x[0]-x[i-1])*(x[0]-x[i-1])+(y[0]-y[i-1])*(y[0]-y[i-1])); c=sqrt((x[i]-x[i-1])*(x[i]-x[i-1])+(y[i]-y[i-1])*(y[i]-y[i-1])); s=______________; s=sqrt(s*(s-a)*(s-b)*(s-c)); sdim+=s; } printf(\} 10.如下程序使用冒泡法对输入的10个浮点数从小到大进行排序。排好序的10个数分两行输出(即每行输出5个数)。程序如下: # include {float a[10], t ; int i , j ; printf(“Input 10 float numbers please\\n”); for(i=0;i<10;i++) scanf(“%f”,&a[i]); printf(“\\n”); for(i=1; __________;i++) for(j=0; ________;j++) if(a[j]>a[j+1]) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } printf(“The sorted 10 numbers:\\n”); for(i=0;i<10;i++) { if(______________) printf(“\\n”); printf(“%.2f\\t”,a[i]); } printf(“\\n”); } 11.如下程序使用选择法排序对输入的10个浮点数从大到小进行排序。排好序的10个数分两行输出(即每行输出5个数)。程序如下: #include {float a[10]; int i,j,t; printf(“Input 10 float numbers please\\n”); for(i=0;i<10;i++) scanf(“%f”,&a[i]); printf(“\\n”); for(i=0; i<9;i++) { ___________; for(_________; j<10;j++) if(a[j]>a[t]) t=j; if(___________) { x=a[j]; a[j]=a[j+1];a[j+1]=x;} printf(“The sorted 10 numbers:\\n”); for(i=0;i<10;i++) {if(______________) printf(“\\n”); printf(“%.2f\\t”,a[i]); } printf(“\\n”); } 五、阅读程序,写出程序运行结果 1.#include main( ) { int i,j; int a[6]={12,4,17,27,16}, b[6]={27,13,4,25,16}; for(i=0;i<6;i++) {for(j=0;j<6;j++) if(a[i]==b[j]) break; if(j<6) printf(“M”,a[i]); } printf(“\\n”); } 2.#include { int a[8]={1,0,1,0,1,0,1,0},j; for(j=2;j<8;j++) a[j]+=a[j-1]+a[j-2]; for(j=0;j<8;j++) printf(“]”,a[j]); } 3.#include “math.h” main( ) { int i,j,r,c, float a[3][4]={{1,3,4,2},{-10,9,12,0},{6,7,8,9}} , max;; max=fabs(a[0][0]); r=0; c=0; for (i=0;i<3;i++) for (j=0;j<4;j++) if (fabs(a[i][j])>max) {max=a[i][j]; r=i; c=j; } printf (“max=%0.2f,row=%d,column=%d\\n”,max,r,c); } 4. main( ) { char str[20]= “Programming”; int i; for(i=0;i for(i-0;str[i]!= ?\\0?;i++) printf(“%c”,str[i]); printf(“\\n”); puts(str); printf(“%s\\n”,str); } 5.main( ) {int a[11]={1,4,6,9,10,15,28,40,100,120}; int t1,t2,num,end,i,j; printf(“original array is :”); for(i=0;i<10;i++) printf(“]”,a[i]); printf(“\\n”); printf(“\\n”); printf(“please enter a number\\n”); scanf(“%d”,&num); end=a[9]; if(num>end) a[10]=num; else {for (i=0;i<10;i++) {if (a[i]>num) { t1=a[i];a[i]=num; for (j=i+1;j<11;j++) { t2=a[j]; a[j]=t1; t1=t2;} break; } } } for (i=0;i<11;i++) printf (“]”,a[i]); printf (“\\n”); } 运行该程序并输入:5 6.main( ) {int a[5]={8,6,5,4,1},i,temp; printf (“\\n original array is :”) for (i=0;i<5;i++) printf(“]”,a[i]); for (i=0;i<5/2;i++) {temp=a[i]; a[i]=a[5-i-1]; a[5-i-1]=temp;}