C语言试题Word下载.docx

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

C语言试题Word下载.docx

《C语言试题Word下载.docx》由会员分享,可在线阅读,更多相关《C语言试题Word下载.docx(67页珍藏版)》请在冰豆网上搜索。

C语言试题Word下载.docx

32.编一个程序,将两个字符串连接起来,不要用strcat函数。

33.编写一个函数,比较两个字符串的大小,并在main函数中调用此函数,不要调用strcmp函数。

34.用指针实现输入3个整数并按从小到大的顺序输出。

35.用指针实现输入3个整数并按从大到小的顺序输出。

36.用指针实现将数组b[10]中的元素按逆序存放。

37.编写一程序,实现从键盘接收一个字符串,然后删除其中的空格后并输出。

如:

输入“Iamastudent!

”,输出“Iamastudent!

”,要求用指针实现。

38.用冒泡法实现对10个整数按从大到小的顺序排序输出(要求用指针实现)。

39.用选择法实现对10个整数按从小到大的顺序排序输出(要求用指针实现)。

40.编写一个函数实现字符串复制功能(要求用指针作为函数参数)。

41.定义一个结构体变量(包括年、月、日)。

计算当天是本年中的第几天,注意闰年问题。

42.设计候选人得票统计程序,要求有4个侯选人(分别是Zhang、Wang、Li、Zhao),选民每次输入一个被选人的姓名,最后统计出各人的得票结果。

43.定义一个包括学号、姓名、年龄的学生结构体,要求实现三个学生信息的输入输出,并输出平均年龄。

44.定义一个包括教师编号、姓名、工资的教师结构体,要求实现三个教师信息的输入输出,并输出平均工资。

45.定义一个包括职员号、姓名、工资的职员结构体,要求实现三个职员信息的输入输出,并输出平均工资。

46.建立动态数组,输入5个学生的成绩,另外用一个函数检查其中有无低于60分的,输出不合格的成绩。

47.写一函数,求一个字符串的长度。

在main函数中输入字符串,并输出其长度(要求用指针实现)。

48.有一个一维数组score,内放10个学生成绩,用一个函数求平均成绩,并将10个成绩中不及格(小于60)的成绩和该成绩在数组中的序号输出。

49.有一个一维数组内放10个数,设计函数,求出10个数中的最大值、最小值、平均值。

50.找出一个2维数组中的鞍点,即该位置上的元素在该行上最大、在该列上最小。

51.输入3个学生4门课的成绩,分别用函数实现如下功能:

(1)计算每个学生平均分;

(2)计算每门课的平均分;

(3)找出12个分数中最高分所对应的学生和课程。

52.用一个函数实现将一行字符串中的最长的单词输出。

此行字符串从主函数传递给该函数。

53.输出菱形图案(要求用循环实现)

54.有一个已排好序的数组,要求输入一个数后,按原来排序的规律将她插入数组中。

55.写一个判断素数的函数,在主函数输入一个整数,输出是否素数的信息。

56.有一篇文章,共有4行文章,每行有60个字符。

要求分别统计出其中英文大写字符、小写字母、数字、空格以及其他字符的个数。

57.有一行电文,已按下面规律译成密码:

A→Za→z

B→Yb→y

C→Xc→x

即第1个字母变成第26个字母,第i个字母变成第(26–i+1)个字母。

非字母符号不变。

要求编程序将密码译回原文,并输出密码和原文。

58.有n个人围成一圈,顺序排号。

从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下来的是原来第几号的那位(要求用指针知识实现)。

59.有3个学生,每个学生的数据包括学号、姓名、3门课程的成绩,从键盘输入3个学生数据,要求输出3门课程总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课程成绩、平均分数)(用结构体)。

60.写一个函数,将一个字符串中的元音字母复制到另一个字符串,然后输出。

61.编一程序,输入月份号,输出该月的英文月名。

例如,输入3,则输出March,要求用指针数组处理。

62.从键盘上读入3个字符串,对它们按字母大小的顺序排序,然后把排好序的字符串送到磁盘文件中保存。

63.在磁盘文件上存有10个学生的数据。

要求将第1,3,5,7,9个学生数据输入计算机,并在屏幕上显示出来。

64.有两个磁盘文件“file1”和“file2”,各存放一行字母,要求把两个文件中的信息合并(按字母顺序排序),输出到一个新文件“file3”中去。

参考答案

1、

#include<

stdio.h>

voidmain()

{

floatx;

inty;

printf("

请输入一个x的值:

\nx="

);

scanf("

%f"

&

x);

if(x<

0||x>

100)

y=-1;

elseif(x==0)

y=0;

else

y=1;

y=%d"

y);

\n"

}

2、

floata,b,c,t;

请输入三个数,数之间以空格连接:

\n输入的数分别为:

"

%f%f%f"

a,&

b,&

c);

if(a<

b)

{

t=a;

a=b;

b=t;

}

c)

a=c;

c=t;

if(b<

t=b;

b=c;

a、b、c由大到小排列为:

\n%.2f\n%.2f\n%.2f\n"

a,b,c);

3、

floata,b,c,d,max=0,min=0;

请输入四个数字,中间以空格分开:

四个数字分别为:

%f%f%f%f"

c,&

d);

max=(a>

b)?

a:

b;

max=(max>

c)?

max:

c;

d)?

d;

min=(a<

min=(min<

min:

四个数中最大的数为:

%.2f\n"

max);

四个数中最小的数为:

min);

4、

floatfen;

intc;

请输入学生的成绩:

fen);

if(fen<

0||fen>

c=4;

elseif(fen>

=0&

&

fen<

60)

c=5;

c=fen/10;

switch(c)

case9:

printf("

学生成绩等级为:

A\n"

break;

case8:

B\n"

case7:

C\n"

case6:

D\n"

case5:

E\n"

case4:

输入数据有误\n"

5、

floatx,y;

请输入一个x值x="

1)

y=x;

if(x==10)

y=3*x-11;

y=2*x-1;

y的值为:

y=%.2f\n"

6、

inti,j,k,n=0;

300-400间所有素数为:

for(i=301;

i<

=400;

i++,i++)

{

k=i/2;

for(j=2;

j<

=k;

j++)

if(i%j==0)break;

if(j==k+1)

{

printf("

%d"

i);

n++;

if(n%5==0)

printf("

}

}

7、

inti,j=0;

1-100间只能被7和11一个数整除的数为:

\n\n"

for(i=7;

=100;

i++)

if(i%7==0&

i%11!

=0||i%7!

i%11==0)

{

j++;

printf("

%6d"

if(j%5==0)

}

8、

intf1=1,f2=1,i;

Fibonacci数列前二十个数为:

for(i=1;

=10;

printf("

%6d%6d"

f1,f2);

f1=f1+f2;

f2=f2+f1;

if(i%2==0)

9、

doublesum=0,t=1;

intn;

for(n=1;

n<

n++)

t=t*n;

sum=sum+t+3;

1!

+3+2!

+3+3!

+3+…+10!

+3=%.0f\n"

sum);

10、

inti;

doublea=2,b=1,s=0,t;

=20;

s=s+b/a;

t=a;

a=a+b;

b=t;

1/2+2/3+3/5+…=%16.10f\n"

s);

11、

inti,a,b,c;

小于500的所有水仙花数为:

for(i=100;

500;

a=i/100;

b=i/10-a*10;

c=i%10;

if(i==a*a*a+b*b*b+c*c*c)

12、

intm,n[6],i=0,j;

请输入一个小于七位的整数:

%d"

m);

while(m!

=0)

n[i]=m%10;

m=m/10;

i++;

它是一个%d位数。

正序输出为:

for(j=i-1;

j>

=0;

j--)

%3d"

n[j]);

逆序输出为:

for(j=0;

i;

13、

#include<

inta=5,n=5,i=1,sn=0,tn=0;

=5;

tn=tn+a;

sn=sn+tn;

a=a*10;

5+55+..+55555=%d\n"

sn);

14、

inti,j,k=0,m;

倒三角的9*9口诀表为:

for(i=9;

i>

=1;

i--)

for(j=i;

k=i*j;

k);

}

15、

math.h>

{doublea,b,c,x,x1,x2,disc,realpart,imagepart;

请输入a,b,c三个数,两数间以空格分开:

输入的a,b,c分别为:

%lf%lf%lf"

方程"

if(fabs(a)<

1e-6)

x=-c/b;

是一元一次方程,它的根为:

\nx=%.4f\n"

x);

disc=b*b-4*a*c;

if(fabs(disc)<

有两个相等的实根:

\nx1=x2=%8.4f\n"

-b/(2*a));

else

if(disc>

x1=(-b+sqrt(disc))/(2*a);

x2=(-b-sqrt(disc))/(2*a);

有两个不相等的实根:

\nx1=%8.4f,\nx2=%8.4f\n"

x1,x2);

realpart=-b/(2*a);

imagepart=sqrt(-disc)/(2*a);

有两个复根:

x1=%8.4f+%8.4fi\n"

realpart,imagepart);

x2=%8.4f-%8.4fi\n"

16、

charc;

intletters=0,digit=0,other=0;

请输入一行字符:

while((c=getchar())!

='

\n'

if(c>

a'

c<

z'

||c>

A'

Z'

letters++;

elseif(c>

0'

9'

digit++;

else

other++;

字母数:

%d\n数字数:

%d\n其他字符数:

%d\n"

letters,digit,other);

}

17、

intmain()

inta=1,b=2,c=3,d=4,m=0;

inti,j,k,n;

1、2、3、4能组成的无重复数字的三位数有:

=4;

for(j=1;

for(k=1;

k<

k++)

{

if(i==j||i==k||k==j)continue;

n=i*100+j*10+k;

m++;

n);

if(m%5==0)

putchar('

18、

inta[10];

inti,j,t;

请输入10个数,以空格隔开:

for(i=0;

10;

scanf("

a[i]);

由小到大排列为:

for(i=0;

9;

if(a[i]>

a[j+1])

t=a[i];

a[i]=a[j+1];

a[j+1]=t;

%5d"

a[i]);

19、

inti,j,k,a[2][3],b[3][2];

请输入数组a[2][3],六个整数以空格分开:

2;

for(j=0;

3;

scanf("

a[i][j]);

a数组为:

a[i][j]);

b[j][i]=a[i][j];

b数组为:

b[i][j]);

20、

inta[3][4],i,j,max;

请输入数组a[3][4],十二个数,以空格分开:

4;

max=a[0][0];

if(max<

a[i][j])

max=a[i][j];

最大数为:

%3d\n"

if(a[i][j]==max)

行数为:

%3d\n列数为:

i+1,j+1);

21、

charstr[80];

请输入一行字符:

putchar('

gets(str);

str[i]!

\0'

;

if(str[i+1]=='

'

||str[i+1]=='

单词个数为%3d\n\n"

j);

22、

string.h>

charstr1[80],str2[80],str3[80],longest[80];

输入三个字符串,之间以回车连接:

gets(str1);

gets(str2);

gets(str3);

strcpy(longest,str1);

if(strcmp(str1,str2)<

0)

if(strcmp(str2,str3)<

最长的字符串是:

%s\n\n"

longest);

23、

intmax(intx,inty),a,b;

请输入两个整数a和b,以空格连接

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

当前位置:首页 > 考试认证 > 财会金融考试

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

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