C语言编程测试题(含答案)

C语言编程测试题(含答案)
C语言编程测试题(含答案)

《C 语言程序设计》阶段性考核(90分钟)

__ 姓名 __________ 得分 ____

程序设计题 (本大题共 7小题,选 5 题完成, 3、5 题必选,共 100 分)

注意:将在VC++中调试通过的代码复制到每题“程序代码”下面,然后提交本 文档即可,文档命名为“姓名.doc ”,如 张文.doc

1、 求出 10 到 100 内能同时被

2、

3、7 整除的数,并输出。 程序代码:

#include"stdio.h"

Void main()

{// 求出 10 到 100内能同时被 2、3、7 整除的数,并输出

int i;

for(i=10;i<=100;i++)

{if(i%2==0&&i&3==0&&i%7==0)

printf("%d ",i);

}

}

2、 输出 Fibonacci 数列 1,1, 2,3, 5, 8, 13

程序代码:

#include"stdio.h"

Void main()

{

// 输出 Fibonacci 数列 1,1, 2,3, 5, 8, 13

long int f[42];

int i;

f[0]=f[1]=1;

for(i=2;i<42;i++)

f[i]=f[i-1]+f[i-2];

for(i=0;i<42;i++)

{if(i%5==0) printf("\n");

printf("%10d",f[i]);

}

}

3、 编写程序,输入一个

3X 3的矩阵,求两个对角线元素中的最大值 程序代码:

#include"stdio.h"

Void main()

{

II 编写程序,输入一个 3X 3的矩阵,求两个对角线元素中的最大值

int a[3][3];

int i,j,max;

I*

a[0][0] a[0][1] a[0][2] 1 2 3

a[1][0] a[1][1] a[1][2] 4 5 6

学号 前 42 个数,并以每行 5 个数方式输出。 前 42 个数,并以每行 5 个数方式输出。

a[2][0] a[2][1] a[2][2] 7 8 9

*/

// 二重循环输入数组元素

printf(" 请输入数组元素 \n");

for(i=0;i<3;i++)

for(j=0;j<3;j++)

{ scanf("%d",&a[i][j]);

}

// 输出二维数组 for(i=0;i<3;i++)

{

for(j=0;j<3;j++)

{

printf("%d ",a[i][j]);

}

printf("\n");

}

// 求二维数组对角线最大值, i=j or i+j=2

max=a[0][0]; for(i=0;i<3;i++)

for(j=0;j<3;j++) {if(i==j||i+j==2)

{if(a[i][j]>max) max=a[i][j]; }

}

// 输出最大值

printf("max=%d\n",max);

}

4、编写程序,输入 12个数,按照从后向前的顺序依次找出并输出其中能被7 整除的所有整

数以及这些整数的和,在屏幕上输出程序代码:

#include"stdio.h"

void main()

{//4 、编写程序,输入 12 个数,按照从后向前的顺序依次找出并输出其中能被有整数以及

7 整除的所这些整数的和,在屏幕上输出

int a[12];

printf(" 请输入数组元素 \n"); for(i=0;i<12;i++) scanf("%d",&a[i]);

// 注意,从后向前找,下标递减 for(i=11;i>=0;i--) if(i%7==0)

{printf("%d ",a[i]);

sum=sum+a[i];

} printf("\n"); printf("sum=%d\n",sum);

}

5、编写程序打印以下图形: (必须使用循环结构) 0 1 2

3 4 5

6 7 8 9 程序代码: #include"stdio.h" void main() {int a[4][4]; int k=0,i,j; // 输入数组元素printf(" 请输入数组: \n"); for(i=0;i<4;i++) for(j=0;j<4;j++) {scanf("%d",&a[i][j]);} // 变量 k 累加赋值 for(i=0;i<4;i++) for(j=0;j<=i;j++) { a[i][j]=k++;//

} // 输出数组 for(i=0;i<4;i++) {for(j=0;j<=i;j++) {printf("%d ",a[i][j]);} printf("\n");

} }

6、已知字符串 char s[50]= ” Iamstudent ” , 请编写程序将字符 a 插入到 student 之前,结果为“ Iamastudent ” , 程序框架为:

Void main() { char s[50]= ” Iamstudent ” ;

}

程序代码:

#include"stdio.h" void main()

{//6 、已知字符串 char s[50]="Iamstudent", 请编写程序将字符 a 插入到 student 之前,结果为"Iamastudent"

char s[50]="Iamstudent";

int i;

等同于 a[i][j]=k; k=k+1;

// 字符串实际长度

为10,数组下标为 0~9 的存储

for(i=strlen(s)-1;s[i]!='s';i--)

s[i+1]=s[i];// 每个字符向后移一个

s[i+1]=s[i];//'s' 向后一定一个,‘ s'的位置用来存放’a'

s[i]='a';

printf("%s\n",s);

}

7、设计程序计算以下式子的值

1+( 1+2)+(1+2+3) +(1+2+3+4) +。。。。+(1+2+3+。。。+99+100)程序代码:

#include"stdio.h" void main()

{

// 设计程序计算以下式子的值

//(0+1)+ (1+2)+(1+2+3)+(1+2+3+4)+。。。。+(1+2+3+。。。+99+100) int i,j,sum1,sum=0;

for(i=1;i<=100;i++)// 可以将 100改成 5测试结果的正确性, i 表示 1 到 100项{

sum1=0;

for(j=1;j<=i;j++)

sum1=sum1+j;// 求每一项的累加和

sum=sum+sum1;//求总和,在每一项求和之后

}

printf("%d\n",sum);

}

相关主题
相关文档
最新文档