《C语言程序设计》期末复习题答案

发布 2021-04-21 12:33:28 阅读 2625

一、选择题。

二、读程序,写出程序的运行结果。

三、程序填空。

四、编程题,请写出完整的c语言程序。

1. 输入一百分制成绩,要求输出成绩等级‘a’,‘b’,‘c’,‘d’,‘e’。90分及以上为‘a’ ,80-89分为‘b’,70-79分为‘c’,60-69分为‘d’,60分以下为‘e’。

#include <>

void main( )

2. 编程求方程3x+4y=50的所有非负整数解。

#include<>

int main()

int x,y;

for(x=1;x<17;x++)

for(y=1;y<13;y++)

if(3*x+4*y==50)

printf("x=%2d,y=%2d",x,y);

return 0;

3. 求1!+2!+3!+…100!。

#include <>

void main()

int i;

double t,s;

i=1;t=i; s=t;

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

t=t*i s+=t; }

printf("%ld ",s);

4. 有一分数序列,求出这个数列的前30项之和。

#include<>

int main()

int i,a=1,b=2,k; /a: 分母,b:分子。

double t,sum=2/1.0;

for(i=2;i<=30;i++)循环的初始值,确定循环条件。

printf("%2f",sum);

return 0;

5. 输出100以内能被3整除且个位数为6的所有正整数。

#include ""

void main()

int i,j;

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

6. 编写一个程序,统计出10个学生的平均成绩,最高分。例如:

输入10名学生的成绩分别为92,87,68,56,92,84,67,75,92,66,则输出:平均成绩为77.9,最高分为92。

#include <>

void main( )

float a[10],**e,max,sum=0;

int i=0;

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

scanf("%f",&a[i]);

max=a[0];

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

**e=sum/10;

printf("**e=%f",**e);

printf("max=%f",max);

7. 定义一个二维数组,任意输入200个学生的数学、语文、英语、物理、化学5门课程的成绩,计算并输出每一门课程的平均成绩和每一位学生的平均成绩。

#include <>

#define n 200 //代表学生数。

#define m 5 //代表课程数。

void main()

int scores[n][m];

int i,j,sum;

//输入学生成绩。

for(i=0;i

//输出学生成绩。

printf("序号\t数学\t语文\t英语\t物理\t化学\t平均成绩");

for(i=0;i

printf("%d",sum/m); 输出每一位学生的平均成绩。

//计算并输出每一门课程的平均成绩。

printf("平均\t");

for(j=0;j

printf("");

8. 已知一个3*3的整型二维数组,输出数组元素中的最小值及其位置(不用考虑有多个相等的最小值的情况)。要求:

数组元素的初值初始化如下:,最小值是0,其位置是第1行第0列。

#include<>

int main()

int a[3][3]=;

int i,j,row,col,min;

min=a[0][0];

row=0;col=0;

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

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

if(min>a[i][j])

printf("min=%d,row=%d,col=%d",min,row,col);

return 0;

9. 若一个字符串正读和反读都一样,如level、madam,则称之为回文字符串。请编写程序,输入任意一个字符串,验证其是否为回文。(多种方法均可)

法1:#include<>

#include<>

int main()

char s[100];int i,n,m=1;

scanf("%s",s);

n=strlen(s);

for(i=0;iif(s[i]!=s[n-1-i])

if(m) printf("%s是回文",s);

else printf("%s不是回文",s);

return 0;

法2:#include<>

#include <>

#define n 100

void fc(char a[ ]

int i, tmp, n;

n=strlen( a );

for(i=0;i

int main()

char a[n],b[n];

gets(a);

strcpy(b,a);

fc(a);

if(strcmp(a,b)==0)printf("%s是回文串",a);;

else printf("%s不是回文串",a);

return 0;

10. 编写函数实现两个字符串的连接。要求不能使用 strlen, strcat, strcpy等字符串处理函数。

函数原型void cat(char s1,char s2,char s3)主函数中完成两个串的输入,cat函数的调用,连接后的结果输出。

#include<>

void cat(char s1,char s2,char s3)

int i,j;

for(i=0;s1[i]!=0';i++)

C语言程序设计期末复习题带答案

一 填空题 每空 1 分,共 20 分 1 c语言中,用关键字 int 定义基本整型变量,用关键字 float 定义单精度实型变量,用关键字 char 定义字符型变量。2 表达式3 20 4 10的计算结果是 5 3 复合语句是将多个语句用括起来组成一个语句。4 程序中使用putchar 函数和ge...

C语言程序设计期末复习题

一 单项选择题。a 1 下面四个选项中,均是合法整型常量的选项是。a 160 0xffff 011b 0xcdf 01a 0xe c 01 0986.012 0668d 0x48a 2e0.5 0x c 2 设x,y,z,t均为int型变量,则执行以下语句后,t的值为。x y z 1 t x y z...

C 语言程序设计期末复习题

c 语言程序设计期末复习题。一 单项选择题。1 在每个c 程序中都必须包含有这样一个函数,该函数的函数名为a a.main b.main c.name d.function 2 设x和y均为bool量,则x y为真的条件是a a.它们均为真 b.其中一个为真 c.它们均为假 d.其中一个为假。3 执...