安阳工学院期末C语言标准答案Word文档下载推荐.docx

上传人:b****4 文档编号:18216641 上传时间:2022-12-14 格式:DOCX 页数:48 大小:28.24KB
下载 相关 举报
安阳工学院期末C语言标准答案Word文档下载推荐.docx_第1页
第1页 / 共48页
安阳工学院期末C语言标准答案Word文档下载推荐.docx_第2页
第2页 / 共48页
安阳工学院期末C语言标准答案Word文档下载推荐.docx_第3页
第3页 / 共48页
安阳工学院期末C语言标准答案Word文档下载推荐.docx_第4页
第4页 / 共48页
安阳工学院期末C语言标准答案Word文档下载推荐.docx_第5页
第5页 / 共48页
点击查看更多>>
下载资源
资源描述

安阳工学院期末C语言标准答案Word文档下载推荐.docx

《安阳工学院期末C语言标准答案Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《安阳工学院期末C语言标准答案Word文档下载推荐.docx(48页珍藏版)》请在冰豆网上搜索。

安阳工学院期末C语言标准答案Word文档下载推荐.docx

458个学生4门课的成绩求三个问题

46将一行字符串最长单词输出

47输出金字塔图案

48输入一个数按原来的规律插入数组中

49判断素数

50统计4行文章60个字符中英文词的信息

51电文密码

52n个人的圈子报数,到3退出,求留下是几号

5310个学生3门课程的成绩,输出总平均成绩,以及最高分的信息

54将一字符串的元音字母复制到另一字符串,输出

55输入月份号,输出英文名

P(13-17)

1.有一个函数,写一段程序,输入x的值,输出

y的值。

#include<

stdio.h>

voidmain()

{intx,y;

printf("

输入x:

"

);

scanf("

%d"

&

x);

if(x<

0||x>

100)

{y=-1;

x=%3d,y=%d\n"

x,y);

}

elseif(x==0)

{y=0;

x=%d,y=%d\n"

x,y);

else

{y=1;

}

2.输入3个数a,b,c,按大由到小的顺序输出。

#include<

voidmain()

{

floata,b,c,t;

pleaseentera,b,c:

%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;

%7.2f%7.2f%7.2f\n"

a,b,c);

3.输入4个数,输出4个数中的最大值、最小值。

floatt,a,b,c,d,max,min;

请输入四个数:

%f,%f,%f,%f"

c,&

d);

if(a<

{t=a;

d)

a=d;

d=t;

if(b<

{t=b;

b=d;

if(c<

{t=c;

c=d;

最大值和最小值分别为:

\n"

max=%5.2fmin=%5.2f"

a,d);

4.输入成绩,要求输出成绩等级A、B、C、D、E或

error。

90分以上为‘A’,80~89分为‘B’,70~79分

为‘C’,60~69分为‘D’,0~60分为‘E’。

若输入成

绩低于0分和高于100分则输出error。

{floatscore;

chargrade;

请输入学生成绩:

%f"

score);

if(score>

100||score<

0)

error\n"

else

switch((int)(score/10))

case10:

case9:

grade='

A'

;

break;

case8:

B'

case7:

C'

case6:

D'

case5:

case4:

case3:

case2:

case1:

case0:

E'

成绩是%5.1f,成绩等级是%c.\n"

score

grade);

5.有一个函数:

写一段程序,输入x的值,输出x,y的值。

1)

{y=x;

x=%3d,y=x=%d\n"

elseif(x<

10||x>

10)

{y=2*x-1;

x=%d,y=2*x-1=%d\n"

{y=3*x-11;

x=%d,y=3*x-11=%d\n"

6.输出300~400之间的全部素数,并按每行5个数输出。

#include<

math.h>

{intprime(int);

inti,k,m;

300-400之间的素数为:

\n"

for(i=300;

i<

=400;

i++)

{m=prime(i);

if(m==1)

{k++;

printf("

%5d"

i);

if(k%5==0)

}

intprime(inti)

{intj,flag=1;

for(j=2;

j<

=sqrt(i);

j++)

if(i%j==0)

flag=0;

return(flag);

2.;

#include<

{intm,k,i,n=0;

for(m=300;

m<

m=m+1)

{k=sqrt(m);

for(i=2;

=k;

if(m%i==0)break;

if(i>

=k+1)

{printf("

%d"

m);

n=n+1;

if(n%5==0)printf("

printf("

7.求Fibonacci数列的前20个数,并将其分5行输出

intmain()

{

intf1=1,f2=1;

inti;

for(i=1;

=10;

printf("

%12d%12d"

f1,f2);

if(i%2==0)printf("

f1=f1+f2;

f2=f2+f1;

return0;

8.求和1-10(n!

+3)。

{doubles=0,t=1,sum=0;

intn;

for(n=1;

n<

n++)

t=t*n;

s=s+t;

sum=s+3*n;

1!

+3+2!

+3...+10!

+3=%f\n"

sum);

9.有一分数序列,求其前20项的和。

inti,n=20;

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

for(i=1;

=n;

s=s+b/a;

t=a,

a=a+b,

b=t;

sum=%16.10f\n"

s);

10.输出小于500的所有的“水仙花数”,所谓“水仙花数”

是指一个3位数,其各位数字立方和等于该数本身。

例如,153是一个水仙花数,因为。

inti,j,k,n;

水仙花数是:

"

for(n=100;

500;

i=n/100;

j=n/10-i*10;

k=n%10;

if(n==i*i*i+j*j*j+k*k*k)

n);

11.给一个不多于6位的正整数,要求:

①求出它是几位数

②分别输出每一位数字;

③按逆序输出各位数字,

例如原数为158,应输出851

intn,m;

输入一个不多于六位的数字:

n);

if(n<

1000000&

&

n>

99999)

它是六位数\n"

100000&

9999)

它是五位数\n"

10000&

999)

它是四位数\n"

1000&

99)

它是三位数\n"

100&

9)

它是二位数\n"

10&

=0)

它是一位数\n"

各位数字按逆序输出为:

while(n!

{m=n%10;

n=n/10;

%3d"

12.求5+55+555+5555+55555的值。

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);

13求方程的解

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

%lf,%lf,%lf"

theequation"

if(fabs(a)<

1e-6)

isnotaquadratic"

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

if(fabs(disc)<

hastwoequalroots:

%8.4f\n"

-b/(2*a));

if(disc>

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

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

hasdiatinctrealroots:

%8.4f,%8.4f\n"

x1,x2);

realpart=-b/(2*a);

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

hascomplexroots:

%8.4f+%8.4fi\n"

realpart,imagepart);

%8.4f-%8.4fi\n"

return0;

14输入一行字符,分别统计出其中的英文字符、数字和

其他字符的个数。

string.h>

charc;

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

请输入一行字符\n"

while((c=getchar())!

='

\n'

if(c>

a'

c<

z'

||c>

Z'

letters++;

elseif(c>

0'

9'

digit++;

else

other++;

字母数:

%d\n数字数:

%d\n其他字符数:

%d\n"

letters,digit,other);

15.输入10个整型整数,用起泡法对这10个数排序,

并该由小到大顺序在屏幕上输出。

#include"

stdio.h"

inta[10];

inti,j,t;

input10number:

for(i=0;

10;

scanf("

a[i]);

for(i=0;

for(j=i;

9;

if(a[i]>

a[j+1])

{t=a[i];

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

a[j+1]=t;

};

%5d"

a[i]);

16.将一个二维数组a的行和列的元素互换(即行列互换)

,存到另一个二维数组b中。

inta[4][5],b[5][4];

inti,j;

4;

i++)

for(j=0;

5;

a[i][j]);

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

该数组的新序列为:

for(j=0;

b[i][j]);

17.在一个3*4的二维数组a中,要求编程求出其中

值最大的那个元素的值,并输出其所在的行号和列号。

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

3;

max=a[0][0];

if(max<

a[i][j])

max=a[i][j];

max=%d\n"

max);

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

行=%2d,列=%2d\n"

i+1,j+1);

18输入一行字符,统计其中有多少个单词,

单词之间用空格分隔开。

inti,j=0;

charstr[80];

gets(str);

str[i]!

\0'

if(str[i+1]=='

'

||str[i+1]=='

j++;

单词个数为%d\n"

j);

19.有3个字符串,要求找出其中最大者。

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

gets(str1);

gets(str2);

gets(str3);

strcpy(longest,str1);

if(strcmp(str1,str2)<

if(strcmp(str2,str3)<

thelongestis%s"

longest);

20.输入两个整数,要求用一个函数求出其中的大者,

并在主函数中输出此值。

intf(inta,intb);

intm,n,max;

请输入两个数:

%d,%d"

m,&

max=f(m,n);

max=%d"

intf(inta,intb)

intc;

c=a>

b?

a:

b;

return(c);

21输入两个整数,要求用一个函数求出其最大公约数

和最小公倍数,并在主函数中调用该子函数。

{inthcf(int,int);

intlcd(int,int,int);

intu,v,h,l;

u,&

v);

h=hcf(u,v);

最大公约数=%d\n"

h);

l=lcd(u,v,h);

最小公倍数=%d\n"

l);

inthcf(intu,intv)

{intt,r;

if(v>

u)

{t=u;

u=v;

v=t;

while((r=u%v)!

{u=v;

v=r;

return(v);

intlcd(intu,intv,inth)

return(u*v/h);

22.输入4个整数,找出其中最大的数。

用函数的嵌套调用来处理。

{intmax_4(inta,intb,intc,intd);

inta,b,c,d,max;

Pleaseenter4intergernumbers:

%d%d%d%d"

max=max_4(a,b,c,d);

max=%d\n"

intmax_4(inta,intb,intc,intd)

{intmax_2(inta,intb);

intm;

m=max_2(a,b);

m=max_2(m,c);

m=max_2(m,d);

return(m);

intmax_2(inta,intb)

{return(a>

b);

用递归方法求5!

{longfac(intn);

longy;

y=fac(5);

5!

=%ld\n"

y);

longfac(intn)

longf;

0,dataerror!

elseif(n==0,n==1)

f=1;

elsef=fac(n-1)*n;

return(f);

24、编写一个函数,用来分别求数组score_1(有5个元

素)和数组score_2(有10个元素)各元素的平均值。

floatf(floatscore[],intn);

floatscore_1[5],score_2[10],aver_1,aver_2;

inti;

score_1[i]);

score_2[i]);

aver_1=f(score_1,5);

aver_2=f(score_2,10);

aver_1=%f,aver_2=%f\n"

aver_1,aver_2);

floatf(floatscore[],intn)

floataver,sum=0;

n;

sum=sum+score[i];

aver=sum/n;

return(aver);

25将一个数组中的值按逆序重新存放。

例如,

原来顺序为8,6,5,4,1改后成为1,4,5,6,8。

inta[6],b[6],i;

请输入一个数组:

6;

逆序排列后的数组是:

for(i=

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

当前位置:首页 > 高等教育 > 经济学

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

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