{ for(j=0;j
【程序3】有如下程序
main() { int n=8; while(n>5) {n--;
printf(\%d\,n);} }7 6 5
则该程序输出的结果是:
【程序4】main()
{ int i,j,k;
for(i=0;i<5;i++)
{ for(k=0;k<=5-i;k++) printf(\); for(j=0;j<2*i-1;j++) printf(\*\); printf(\\\n\); } } * * * * * * * * * * * * * * * *
四、 程序设计
1. 编写程序打印以下图案(必须使用循环结构,直接输出不给分)
1 23 456 7890
{
1#include
11/28
2#include
int main() {
int a[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
int i, j, k = 0; } for (i = 1; i<5; i++)
2. 求出 10 到100内能同时被2、3、7整除的数,并输出。
#include
3. 从键盘输入若干学生成绩,找出并输出最高和最低成绩,当输入成绩为负值是结束。
#include 4. 计算1~500之间(即从1到500)的全部\完数\之和。所谓\完数\是指一个数,它的所有真因子之和等于该数。 #include 5. \百马百担\问题。有100匹马驮100担货,每匹大马每次驮3担,每匹中马每次驮2担, 2匹小马每次分驮1担。编写程序求大、中、小马的匹数(大、中、小马的匹数均不得为0)。 #include 12/28 { for (j = 0; j return 0; for(small=0;small<100;small=small+2) if(big+middle+small==100 && } big*3+middle*2+small/2==100) } printf(\ horse=%d,middle horse=%d,middle } horse=%d\\n\ 6. 求s=2/1-3/2+5/3-8/5+...前20项的值 #include \ s = s + (t / n)*sign; void main() sign = -sign; { int i,sign=1; m = n; float m = 1, n = 1, t, s = 0; n = t; for (i = 1; i <= 20; i++) } { printf(\ t = m + n; } 7. 输入一行字符(以回车结束输入),统计其中数字字符、字母和其它字符的个数。 #include 第五章 数组 一、选择题: 1. 数组定义为int a[10][10];,则数组a有( A )个数组元素。 A、100 B、81 C、20 D、121 2. 以下一维数组 a的正确定义是( D ) A、int a(10); B、int n=10,a[n]; C、int n; D、#define N 10 scanf(“%d”,&n); int a[N]; int a[n]; 3. 设有语句”int a[]={3,4,5,9,8,7};”则表达式a[1]-a[4]的值是( C ) A、-6 B、6 C、-4 D、2 4. 以下不能正确定义二维数组的是( D ) A、int a[2][2]={ {4}, {5}}; B、int a[][2]={4,5,6,7}; C、int a[2][2]={ {4},5,6}; D、int a[2][]={{4,5},.{6,7}}; 5. 有以下程序 13/28 main() { int num[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},i,j; for(i=0;i<4;i++) { for(j=0;j<=i;j++) printf(\ for(j= ; j<4;j++) printf(\ printf(\ } } 若要按以下形式输出数组右上半三角 1 2 3 4 6 7 8 11 12 16 则在程序下划线处应填入的是 ( B ) A、i-1 B、i C、i+1 D、4-i 6. 在执行char str[10]=\china\\n\\0\;strlen(str)的结果是( B ) A、5 B、6 C、7 D、8 7. 有以下程序 main() { int p[8]={11,12,13,14,15,16,17,18},i=0,j=0; while(i++<7) if(p[i]%2) j+=p[i]; printf(\ } 程序运行后的输出结果是 ( B ) A、42 B、45 C、56 D、60 8. 以下程序的输出结果是( B ) #include { char st[20]=\2000\\0\\t\\\\\; printf(\} A、7,7 B、4,20 C、10,20 D、20,20 9. 将两个字符串s1和s2 连接起来, 正确的函数为 (B ) P280 A、strcpy( s1,s2) B、strcat( s1,s2) C、strcmp(s1,s2) D、strlen(s1,s2) 10. 以下能正确定义一维数组的选项是 ( B ) A、int a[5]={0,1,2,3,4,5}; B、char a[]={0,1,2,3,4,5}; C、char a={'A','B','C'}; D、int a[5]=\ 11. 设char b[10]; 若从键盘输入字符串“spkaoshi” ,则正确的函数引用是( C ) A、scanf(“%s”, &b); B、scanf(“%c”,&b[10]); C、gets(b); D、gets(b[10]); 12. 有以下程序 ?? main() 14/28 ?? { char p[]={'a', 'b', 'c'}, q[]=\ ?? printf(\ ?? } ??程序运行后的输出结果是 ( C ) ?? A、4 4 B、3 3 C、3 4 13. 有以下程序 main( ) { char a[]=\ printf(\ } ??执行后输出结果是( C ) A、7 7 B、8 8 C、8 10 二、程序填空 下列程序是建立一个按以下格式输出的二维数组。 1 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 # include main( ) { int a[5][5],i,j; for(i=0;i<5;i++) for(j=0;j<5; j++) a[i][j]= 0__ ___ ; for(i=0;i<5;i++) { a[i][i]=1; a[i][5-1-i]=0 ; } for(i=0;i<5;i++) { for(j=0;j<5;j++) printf(“=”,a[i][j]); printf(“\\n”) ; } } 三、写出程序运行的结果 【程序1】程序运行时,假定从键盘输入:1234567890987654321 #include int i, ch,a[8]; for (i = 0; i<8; i++) a[i] = 0; 15/28 D、4 3 D、10 10