C语言考试典型编程题.docx

上传人:b****8 文档编号:9583868 上传时间:2023-02-05 格式:DOCX 页数:18 大小:20.75KB
下载 相关 举报
C语言考试典型编程题.docx_第1页
第1页 / 共18页
C语言考试典型编程题.docx_第2页
第2页 / 共18页
C语言考试典型编程题.docx_第3页
第3页 / 共18页
C语言考试典型编程题.docx_第4页
第4页 / 共18页
C语言考试典型编程题.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

C语言考试典型编程题.docx

《C语言考试典型编程题.docx》由会员分享,可在线阅读,更多相关《C语言考试典型编程题.docx(18页珍藏版)》请在冰豆网上搜索。

C语言考试典型编程题.docx

C语言考试典型编程题

编号

题目要求及代码描述

参考答案

补充说明

1

①题目要求:

有一分数序列:

2/1、-3/2、5/3、-8/5、13/8…,求这个数列的前m(m>=1且m<=100)项之和,并将总和存放到变量sum中,并输出sum。

(若程序已经定义的变量不够用,考生可以补充定义其它变量)

②题目已给出的框架如下:

#include“”

main()

{

intm;

floatsum;

}

参考答案如下:

#include“”

main()

{

intm,i,sign=1;

floatsum=0,a=2,b=1,t;

scanf(“%d”,&m);

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

{

sum=sum+sign*a/b;

t=a;a=a+b;b=t;

sign=-sign;

}

printf(“%f”,sum);

}

多项式求和问题,例如:

1.序列:

1!

、2!

、3!

、4!

、5!

…求前m项之和;

2.序列:

1*1、2*2、3*3、4*4、…求前m项之和;

3.序列:

1,1,2,3,5,8,13……从第三个数开始每个数是前两个数之和,求出这个数列的前m项之和。

2

①题目要求:

有一序列:

1,1,2,3,5,8,13……从第三个数开始每个数是前两个数之和,求出这个数列的前m(m>=1并且m<=100)项之和,并将总和存放到变量sum中,并输出之.

(若程序已经定义的变量不够用,考生可以补充定义其它变量).

②题目已给出的框架如下:

#include“”

main()

{

intm,sum;

}

参考答案如下:

#include“”

main()

{

intm,sum=0,i,a=0,b=0,s=1;

scanf(“%d”,&m);

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

{

sum=sum+s;

a=b;

b=s;

s=a+b;

}

printf(“%d”,sum);

}

3

①题目要求:

对于任意给定的正整数m,求这个数的各位数字之和,并存入变量sum中,并输出之。

例如:

如果m为123,则sum为6。

(若程序已经定义的变量不够用,考生可以补充定义其它变量).

②题目已给出的框架如下:

#include“”

main()

{

intm,sum;

}

 

参考答案如下:

#include“”

main()

{

intm,sum=0,i,s;

scanf(“%d”,&m);

while(m!

=0)

{

sum=sum+m%10;

m=m/10;

}

printf(“%d”,sum);

}

整型数据求位数、及按位提取数字问题。

4

①题目要求:

已知10名学生的成绩已存入数组a中,计算前m位同学的平均成绩,并存入变量aver中,并输出之。

例如,若m=2,则aver=65。

(若程序已经定义的变量不够用,考生可以补充定义其它变量)。

②题目已给出的框架如下:

#include“”

main()

{intm,a[10]={60,70,77,79,76,83,78,56,85,69};

floataver;

}

参考答案如下:

#include“”

main()

{

intm,i,a[10]={60,70,77,79,76,83,78,56,85,69};floataver=0;

scanf(“%d”,&m);

for(i=0;i

aver=aver+a[i];

aver=aver/m;

printf(“theaveris%f”,aver);

}

主函数中直接对整型(实型)数组进行统计处理问题,例如:

1.求平均分;

2.求最大值最小值;

3.求高于平均分人数;

5

①题目要求:

将输入的一行字符串(<50)存入数组a中,求字符串中小写字母的个数并存入变量count中,并输出之。

例如,若输入”ItIsAJoke.”,则count=5。

(若程序已经定义的变量不够用,考生可以补充定义其它变量)。

②题目已给出的框架如下:

#include“”

main()

{

chara[50];intcount;

 

}

参考答案如下:

#include“”

main()

{

chara[50];

intcount=0,i;

gets(a);

for(i=0;a[i]!

='\0';i++)

if(a[i]>='a'&&a[i]<='z')

count++;

printf(“thecountis%d”,count);

}

主函数中直接对字符型数组进行统计处理问题,例如:

1.求字符串长度;

2.求字符串中大写\小写字母个数;;

3.

6

①题目要求:

已知10名学生的成绩已存入数组a中,求不低于m分的人数,并存入变量count中,并输出之。

例如,若m=60,则count=5;若m=80,则count=2。

(若程序已经定义的变量不够用,考生可以补充定义其它变量)。

②题目已给出的框架如下:

#include“”

main()

{intm,a[10]={34,45,67,82,64,53,67,90,49,56};

intcount;

 

}

参考答案如下:

#include“”

main()

{intm,a[10]={34,45,67,82,64,53,67,90,49,56};

intcount=0,i;

scanf(“%d”,&m);

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

if(a[i]>=m)

count++;

printf(“thecountis%d”,count);

}

7

①题目要求:

从键盘输入的一行字符串(<50)存入数组a中,求该字符串的长度,并将长度存入变量count中,并输出之.例如,若输入”Iamastudent.”,则count=15.

(若程序已经定义的变量不够用,考生可以补充定义其它变量).

②题目已给出的框架如下:

#include“”

main()

{

chara[50];intcount;

 

}

参考答案如下:

#include“”

main()

{

chara[50];

intcount;

gets(a);

for(count=0;a[count]!

='\0';count++)

;/*此处‘;’表示循环体为空*/

printf(“thelengthis%d”,count);

}

8

①题目要求:

根据三角形的三边(a,b,c)判断是否能组成三角形,若可以则求三角形的面积并存入变量area中,并输出之.

(若程序已经定义的变量不够用,考生可以补充定义其它变量).

②题目已给出的框架如下:

#include“”

#include“”

main()

{

floata,b,c,area;

 

}

 

参考答案如下:

#include“”

#include“”

main()

{

floata,b,c,area,s;

scanf(“%f,%f,%f”,&a,&b,&c);

if(a+b>c&&b+c>a&&c+a>b)

{

s=*(a+b+c);

area=sqrt(s*(s-a)*(s-b)*(s-c));

printf(“yes!

andthearea=%f\n”,area);

}

elseprintf(“yes!

\n”);

}

简单数学公式使用的问题:

1.判断润年;

2.求方程的解;等等

9

①题目要求:

编写一个名为fun的函数将字符串中所有的大写字母转换成小写字母.例如,对于字符串”AAbbCC”,则会被转换成”aabbcc”.

(不要改动已有的代码,仅在fun的函数体中填写若干语句)

②题目已给出的框架如下:

#include“”

fun(charw[])

{

 

}

main()

{

chara[20]=“AAbbCC”;

fun(a);

puts(a);

}

参考答案如下:

#include“”

fun(charw[])

{inti;

for(i=0;w[i]!

='\0';i++)

if(w[i]>='A'&&w[i]<='Z')

w[i]=w[i]+32;

}

main()

{

chara[20]=“AAbbCC”;

fun(a);

puts(a);

}

使用自定义函数处理字符串问题,例如:

1.大写\小写字母转换;

2.字符串逆序存放;

3.排序(升序、降序)。

10

①题目要求:

编写一个名为fun的函数,其功能为:

将数组n中的字符串拷贝至数组m中.例如,在main中调用fun以后,会输出”university”.

(不允许用C语言提供的strcpy函数.)

(不要改动已有的代码,仅在fun的函数体中填写若干语句)

②题目已给出的框架如下:

#include“”

fun(charm[],charn[])

{

 

}

main()

{

chara[20],b[20]=“university”;

fun(a,b);

puts(a);

}

参考答案如下:

#include“”

fun(charm[],charn[])

{inti;

for(i=0;n[i]!

='\0';i++)

m[i]=n[i];

m[i]='\0';

}

main()

{

chara[20],b[20]=“university”;

fun(a,b);

puts(a);

}

使用自定义函数处理字符串问题,例如:

1.字符串拷贝;

2.把字符串a追加到b后。

11

①题目要求:

编写一个名为fun的函数实现一个字符串按逆序存放.例如:

由abcd变为dcba.

(不要改动已有的代码,仅在fun的函数体中填写若干语句)

②题目已给出的框架如下:

#include“”

fun(charw[])

{

}

main()

{chara[20]=“abcd”;

fun(a);

puts(a);

}

参考答案如下:

#include“”

fun(charw[])

{inti,n,t;

for(i=0;w[i]!

='\0';i++)

;

n=i;

for(i=0;i

{t=w[i];w[i]=w[n-1-i];w[n-1-i]=t;}

}

main()

{

chara[20]=“abcd”;

fun(a);

puts(a);

}

12

①题目要求:

编写一个名为fun的函数实现将数组a中的n个整数依次向后移一位,最后面一位移到最前面的位置.例如,若有a[5]={0,1,2,3,4};,则调用fun函数后,数组元素的排列顺序为4,0,1,2,3.

(不要改动已有的代码,仅在fun的函数体中填写若干语句)

②题目已给出的框架如下:

#include“”

fun(intw[],intn)

{

}

main()

{

inti,a[5]={0,1,2,3,4};

fun(a,5);

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

printf(“%d,”,a[i]);

}

参考答案如下:

#include“”

fun(intw[],intn)

{inti,t;

t=w[n-1];

for(i=n-1;i>0;i--)

w[i]=w[i-1];

w[0]=t;

}

main()

{

inti,a[5]={0,1,2,3,4};

fun(a,5);

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

printf(“%d,”,a[i]);

}

使用自定义函数处理整型(实型)数组置换问题。

,例如:

1.排序;

2.逆序存放;

3.有序数组中插入新的数后仍然有序。

 

13

①题目要求:

编写一个名为fun的函数统计一个字符串中英文字母(letter)和其它字符(other)的个数.例如,对于”aed234efg”,则letter应为6,other应为3.

(不要改动已有的代码,仅在fun的函数体中填写若干语句)

②题目已给出的框架如下:

#include“”

fun(charw[],int*p1,int*p2)

{

}

main()

{

chara[20]=“aed234efg”;

intletter,other;

fun(a,&letter,&other);

printf(“%d,%d”,letter,other);

}

参考答案如下:

#include“”

fun(charw[],int*p1,int*p2)

{inti;

*p1=0;

*p2=0;

for(i=0;w[i]!

='\0';i++)

if((w[i]>='a'&&w[i]<='z')||(w[i]>='A'&&w[i]<='Z'))

(*p1)++;

else(*p2)++;

}

main()

{chara[20]=“aed234efg”;

intletter,other;

fun(a,&letter,&other);

printf(“%d,%d\n”,letter,other);

}

使用指针,自定义函数统计字符串问题,例如:

1.统计字符串中大写/小写字母个数;

2.统计字符串中字母/符号/数字个数。

14

①题目要求:

编写一个名为fun的函数实现计算数组a中n个整数的最大数和最小数.例如,本题的main函数应输出7,1.

(不要改动已有的代码,仅在fun的函数体中填写若干语句)

②题目已给出的框架如下:

#include“”

fun(intw[],intn,int*p1,int*p2)

{

}

main()

{

inta[5]={1,2,3,4,7},max,min;

fun(a,5,&max,&min);

printf(“%d,%d”,max,min);

}

参考答案如下:

#include“”

fun(intw[],intn,int*p1,int*p2)

{inti;

*p1=w[0];

*p2=w[0];

for(i=1;i

if(w[i]>*p1)

*p1=w[i];

elseif(w[i]<*p2)*p2=w[i];

}

main()

{

inta[5]={1,2,3,4,7},max,min;

fun(a,5,&max,&min);

printf(“%d,%d”,max,min);

}

使用指针,自定义函数处理整型(实型)数组统计问题。

例如:

1.求平均分;

2.求最大值最小值;

3.求高于平均分人数;

15

①题目要求:

编写一个名为fun的函数实现向有序数组a(由小到大排列)中插入一个数m后使数组仍然有序.例如,若有a[6]={10,20,30,40,50};,则调用fun函数插入35后,数组元素的排列顺序为10,20,30,35,40,50.

(不要改动已有的代码,仅在fun的函数体中填写若干语句)

②题目已给出的框架如下:

#include“”

fun(intw[],intn,intm)

{

}

main()

{

inta[6]={10,20,30,40,50},m,i;

m=35;

fun(a,5,m);

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

printf(“%d,”,a[i]);

}

参考答案如下:

#include“”

fun(intw[],intn,intm)

{inti,t;

if(m>w[n-1])

w[n]=m;

else

{for(i=0;w[i]

;

t=i;

for(i=n-1;i>=t;i--)

w[i+1]=w[i];

w[t]=m;

}}

main()

{

inta[6]={10,20,30,40,50},m,i;

m=35;

fun(a,5,m);

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

printf(“%d,”,a[i]);

}

16

①题目要求:

编写一个名为fun的函数实现计算数组a中的n个学生成绩中小于平均分的人数,平均分按实型数考虑.例如,若有a[5]={50,60,70,80,90};,则fun函数的返回值应为2.

(不要改动已有的代码,仅在fun的函数体中填写若干语句)

②题目已给出的框架如下:

#include“”

fun(intw[],intn)

{

}

main()

{

inta[5]={50,60,70,80,90},count;

count=fun(a,5);

printf(“%d”,count);

}

参考答案如下:

#include“”

fun(intw[],intn)

{inti,sum=0,m=0;

floatavg;

for(i=0;i

sum=sum+w[i];

avg=sum/n;

for(i=0;i

if(w[i]

returnm;

}

main()

{

inta[5]={50,60,70,80,90},count;

count=fun(a,5);

printf(“%d”,count);

}

使用自定义函数对整型(实型)数组进行统计处理问题,例如:

1.求平均分;

2.求最大值最小值;

3.求高于平均分人数;

4.统计问题和置换问题结合。

17

①题目要求:

编写一个名为fun的函数实现将数组a的n个整数中的最小数与最后面的数互换,而其它元素不变.例如,若有a[5]={34,1,2,56,4};,则调用fun函数后,数组元素的排列顺序为34,4,2,56,1.

(不要改动已有的代码,仅在fun的函数体中填写若干语句)

②题目已给出的框架如下:

#include“”

fun(intw[],intn)

{

}

main()

{

inti,a[5]={34,1,2,56,4};

fun(a,5);

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

printf(“%d,”,a[i]);

}

参考答案如下:

#include“”

fun(intw[],intn)

{inti,min,j;

min=w[0];

for(i=0;i

if(w[i]

{min=w[i];j=i;

}

w[j]=w[n-1];

w[n-1]=min;

}

main()

{

inti,a[5]={34,1,2,56,4};

fun(a,5);

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

printf(“%d,”,a[i]);

}

最大数和第一个元素互换。

18

①题目要求:

编写一个名为fun的函数根据一个学生一学期5门课的成绩,判断学生是否优秀,优秀的条件是单科分都大于85分,如果是优秀则函数返回1,否则返回0.本题的main函数应输出”nogood”.

(不要改动已有的代码,仅在fun的函数体中填写若干语句)

②题目已给出的框架如下:

#include“”

fun(intw[],intn)

{

}

main()

{

intk,a[5]={34,56,72,99,80};

k=fun(a,5);

if(k==1)printf(“good”);

elseprintf(“nogood”);

}

参考答案如下:

#include“”

fun(intw[],intn)

{inti,m=1;

for(i=0;i

if(w[i]<=85)m=0;

returnm;

}

main()

{

intk,a[5]={34,56,72,99,80};

k=fun(a,5);

if(k==1)printf(“good”);

elseprintf(“nogood”);

}

19

①题目要求:

编写一个名为fun的函数,实现求一行字符串中小字字母的ASCII码值之和.本题的main函数应输出195.

(不要改动已有的代码,仅在fun的函数体中填写若干语句)

②题目已给出的框架如下:

#include“”

fun(charw[])

{

}

main()

{

chara[10]=“aCbD”;

intk;

k=fun(a);

printf(“\n%d”,k);

}

参考答案如下:

#include“”

fun(charw[])

{inti,sum=0;

for(i=0;w[i]!

='\0';i++)

if(w[i]>='a'&&w[i]<='z')

sum=sum+w[i];

returnsum;

}

main()

{

chara[10]=“aCbD”;

intk;

k=fun(a);

printf(“\n%d”,k);

}

使用自定义函数处理字符串统计问题,例如:

1.字符串中大写/小写/数字的ASCII码值之和;

2.字符串中数字之和。

20

①题目要求:

编写一个名为fun的函数,实现对整型数组元素作如下操作:

a[1]=a[1]+a[0],a[2]=a[2]+a[1]...即每一个元素等于它本身与上一个元素之和,最前面的一个元素值不变.例如,若原来的数组为8,9,1,0,4,则新数组为8,17,10,1,4.

(不要改动已有的代码,仅在fun的函数体中填写若干语句)

②题目已给出的框架如下:

#include“”

fun(intw[],intn)

{

}

main()

{

inti,a[5]={8,9,1,0,4};

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

printf(“%d“,a[i]);

fun(a,5);

printf(“\n”);

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

printf(“%d“,a[i]);

}

参考答案如下:

#include“”

fun(intw[],intn)

{inti;

for(i=n-1;i>0;i--)

w[i]=w[i]+w[i-1];

}

main()

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1