当前位置:首页 > C语言程序设计等级考试习题汇编[1]
{char ch[]=\ for(i=0;i<3;i++)strcpy(x[i],ch); for(i=0;i<3;i++)printf(\ printf(\
}
7. 有如下程序
main()
{ char ch[2][5]={“6937”,”8254”},*p[2]; int i,j,s=0;
for(i=0;i<2;i++) p[i]=ch[i]; for(i=0;i<2;i++)
for(j=0;p[i][j]>’\\0’;j+=2) s=10*s+p[i][j]-‘0’; printf(“%d\\n”,s); }
写出该程序的输出结果 8. 有如下程序段,写出输出的结果
char str[6]; str[0]=”a”; for (int j=0;j<6;j++) for (int k=j+1;k<6;k++) str[k]=str[j]+2; printf(“%.6s”,str);
6385 acegik
五、 程序设计题
1. 请用户输入一个含有12个浮点数的一维数组,请分别计算出数组中所有的正数的和
以及所有的负数的和。
# include
{ float data[12]; /*存放浮点数的一维数组。*/
float result1=0.0,result2=0.0 // 将要用于分别存放正数和,负数和
— 13 —
printf(“please inuput 12 float numbers:\\n”); for (int I=0;I<12;I++) scanf(“f”,&data[I]); for (I=0;I<12;I++) { if (data[I]>0.0) result1+=data[I]; else
result2+=data[I]); }
printf(“the sum of all the positive number is %.3f\\n”,result1); printf(“then sum of all the negitive numbers is %.3f\\n”,result2); return(1); }
2.编写一个程序,输出一个杨辉三角形。
# include for (i=0;i<=n+2;i++) for (j=0;j<=n+2;j++) a[i][j]=0; a[0][1]=1; for (i=1;i<=n+1;i++) for (j=1;j<=i;j++) — 14 — a[i][j]= a[i-1][j-1]+ a[i-1][j] for (i=1;i<=n+1;i++) { for (k=0;k<20-3*I;k++) printf(“”); for (j=1;j<=i;j++) printf(“m”,a[i][j]); printf(“\\n”); } } 3.编写一个程序,利用随机函数模拟投币结果,设共投币100次,求“两个正面”、“两个反面”、“一正一反”3种情况各出现多少次。 # include int a[2][2]={0,0,0,0},i,n1,n2 for (i=0;i<=100;i++) { n1=rand()%2; /*rand()返回一个从1到32767的随机数量*/ n2=rand()%2; a[n1][n2]=a[n1][n2]+1; } printf(“投币结果如下:\\n”); printf(“两个正面的次数为:%d\\n”,a[0][0]) printf(“两个反面的次数为:%d\\n”,a[1][1]) printf(“一正一反的次数为:%d\\n”,a[0][1]+ a[1][0]) } 4.从键盘输入一个字符,用折半查找法找出该项字符在已排序的字符串a中的位置。若该字 — 15 — 符不在a中,则打印出**。试编程。 # include {char a [12 ]=”adfgimnprs”,c; int i,top,bot,mid; printf(“Input a character\\n”); scanf(“%c”,&c); printf(“c=c\\’%c\\’\\n”,c); for (top=0,bot=10;top<=bot;top++) { mid=(top+bot)/2; if(c= =a[mid]) { printf(“The position is %d:\\n”,mid+1); break; } else if (c>a[mid]) top=mid+1; else bot=mid-1; } if (top>bot)printf(“**\\n””); } 5.魔方阵问题:把从1到n2(n为奇数)个自然数按方阵排列,使得方阵的每行、每列及对角线的几个数之和都等于一个方阵常量,这个常量是:n(n+1)/2。例如,1至9可以排成如图的方阵,方阵常量是15。 2 8 3 4 1 5 9 6 7 2 提示:通常1总是在第一行的中间;对于其他自然数来说,目前数的右上方是下一个数的位置;如果目前数在第一行,但不在最右侧,则下一个数在最后一行,列数右移一列;如果目前数在第一行的最右侧,则下一个数在目前数的下侧;如果目前数在其他行的最右侧,则下一自然数在上一行的最左侧。 # include — 16 —
共分享92篇相关文档