C语言机试题作答.docx

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

C语言机试题作答.docx

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

C语言机试题作答.docx

C语言机试题作答

第一部分-分支、循环部分

1、某一次考试之后,需要统计考生(10人)的平均成绩,并找出其中的最高分和最低分。

2、从键盘输入两个正整数,输出这两个整数的商,要求商的小数点后保留5位。

例如输入355和113,输出3.14159.

#include

voidmain()

{

inta,b;

floats;

printf("Pleaseentertwonumbers:

\n");

scanf("%d%d",&a,&b);

s=(float)a/b;

printf("%d/%d=%.5f\n",a,b,s);

}

3、用while循环结构编写程序打印ASCII码为33-127的字符

#include

voidmain()

{

inti=33;

while(i<=127)

{

printf("%3d....%2c\t",i,i);

if((i-32)%4==0)

printf("\n");

i++;

}

}

4、用do-while循环结构编写程序打印ASCII码为33-127的字符

#include

voidmain()

{

inti=33;

do

{

printf("%3d....%2c\t",i,i);

if((i-32)%4==0)

printf("\n");

i++;

}while(i<=127);

}

5、用for循环结构编写程序打印ASCII码为33-127字符

#include

voidmain()

{

inti;

for(i=33;i<=127;i++)

{

printf("%3d....%2c\t",i,i);

if((i-32)%4==0)

printf("\n");

}

}

6、在1-500中,找出能同时满足用3除余2,用5除余3,用7除余4的所有整数,用循环结构

#include

voidmain()

{

inti;

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

{

if((i%3==2)&&(i%5==3)&&(i%7==4))

printf("%d\t",i);

}

printf("\n");

}

7、输入一个整数将其倒着输出,如54321

8、计算s=1+1/3+1/5+…+1/n,截止到1/n<10-4

#include

voidmain()

{

intn=1;

floatt,s;

s=0;

do

{

t=(float)1/n;

s=s+t;

n+=2;

}while(t>=1e-4);

printf("s=%2.1f\n",s);

}

9、从键盘输入一整数n,计算1*1+2*2+...+n*n的值

#include

voidmain()

{

intn,i,t;

longs=0;

printf("Pleaseenteranumber:

\n");

scanf("%d",&n);

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

{

t=i*i;

s=s+t;

}

printf("1*1+2*2+...+%d*%d=%ld\n",n,n,s);

}

10、用while循环计算1+2+……+100的和

#include

voidmain()

{

intn=1,s=0;

while(n<=100)

{

s+=n;

n++;

}

printf("1+2+……+100=%d\n",s);

}

11、用dowhile循环计算1+2+……+100的和

#include

voidmain()

{

intn=1,s=0;

do

{

s+=n;

n++;

}while(n<=100);

printf("1+2+……+100=%d\n",s);

}

12、用for循环计算1+2+……+100的和

#include

voidmain()

{

intn=1,s=0;

for(n=1;n<=100;n++)

s+=n;

printf("1+2+……+100=%d\n",s);

}

13、输入一个小于等于10的整数n,计算n!

#include

voidmain()

{

intn,i;

longs=1;

printf("Pleaseenterann(<10):

\n");

scanf("%d",&n);

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

s=s*i;

printf("%d!

=%d\n",n,s);

}

14、输入两个正整数m和n,计算m!

+n!

,m和n的值均小于10。

#include

voidmain()

{

intm,n,i;

longsm=1,sn=1;

printf("Pleaseentermandn(<10):

\n");

scanf("%d%d",&m,&n);

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

sm=sm*i;

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

sn=sn*i;

printf("%d!

+%d!

=%d\n",m,n,sm+sn);

}

15、用循环语句,计算1~100之间的所有3的倍数之和

#include

voidmain()

{

intsum=0,i;

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

{

if(i%3==0)

{

printf("i=%d\t",i);

sum=sum+i;

}

}

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

}

16、用循环语句,计算100-200之间的所有7的倍数之和

#include

voidmain()

{

intsum=0,i;

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

{

if(i%7==0)

{

printf("i=%d\t",i);

sum=sum+i;

}

}

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

}

17、输出1-100之间,7的整数倍数或数字尾数为7的数字,统计出这些数字个数

#include

voidmain()

{

intcount=0,i;

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

{

if((i%7==0)||(i%10==7)||(i==7))

{

printf("i=%d\t",i);

count++;

}

}

printf("\ncount=%d\n",count);

}

18、输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数

19、输入一个整数,统计它有几位数

20、编写程序,输出1到50中间所有能被3整除的正整数

#include

voidmain()

{

inti;

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

{

if(i%3==0)

printf("i=%d\t",i);

}

printf("\n");

}

21、把100~200之间不能被3整除的输出

#include

voidmain()

{

inti;

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

{

if(i%3!

=0)

printf("i=%d\t",i);

}

printf("\n");

}

22、编程Y=1+3+5+7+...111

#include

voidmain()

{

inty,i;

y=0;i=1;

while(i<=111)

{

y=y+i;

i+=2;

}

printf("1+3+5+7+...111=%d\n",y);

}

23、编程y=1*1/2*1/3*1/4*1/5*1/6*...前十项之积

24、编程实现九九乘法表

#include

voidmain()

{

inti,j;

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

{

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

printf("%d*%d=%d\t",j,i,i*j);

printf("\n");

}

}

25、求1到100奇数和

#include

voidmain()

{

inti,sum;

sum=0;

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

{

if(i%2!

=0)

sum+=i;

}

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

}

26、求1到100偶数和

#include

voidmain()

{

inti,sum;

sum=0;

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

{

if(i%2==0)

sum+=i;

}

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

}

27、编程求200以内所有质数(素数)

28、从键盘输入一个整数,求该数的绝对值

#include

voidmain()

{

intx,tx;

printf("Pleaseentetanumber:

\n");

scanf("%d",&x);

tx=x;

if(x<0)

tx=-x;

printf("|%d|=%d\n",x,tx);

}

29、从键盘输入+、-、*、/中的任一个,输出对应的英文单词:

plus、minus、mutiply、divide,如输入的不是这4个字符中的任一个,则输出“sorry,youarewrong”。

#include

voidmain()

{

charops;

printf("Pleaseenter:

\n");

scanf("%c",&ops);

switch(ops)

{

case'+':

printf("plus\n");break;

case'-':

printf("minus\n");break;

case'*':

printf("mutiply\n");break;

case'/':

printf("divide\n");break;

default:

printf("sorry,youarewrong\n");

}

}

30、从键盘输入一个字符,判断其是否为a,r,或f,并输出相应的信息(不区分大小写)。

#include

voidmain()

{

charops;

printf("Pleaseenter:

\n");

scanf("%c",&ops);

switch(ops)

{

case'a':

case'A':

printf("a\n");break;

case'r':

case'R':

printf("r\n");break;

case'f':

case'F':

printf("f\n");break;

}

}

31、编一程序,对于给定的一个百分制成绩,输出用像'A','B','C','D','E'表示的等级成绩。

设:

90分以上为'A',80~89分为'B',70~79分为'C',60~69分'D',60分以下为'E'。

(要求用switch语句编程)。

#include

voidmain()

{

intscore,s;

printf("Pleaseenterthescores:

\n");

scanf("%d",&score);

if((score>=0)&&(score<=100))

{

s=score/10;

switch(s)

{

case10:

case9:

printf("A\n");break;

case8:

printf("B\n");break;

case7:

printf("C\n");break;

case6:

printf("D\n");break;

default:

printf("E\n");

}

}

else

printf("Youarewrong!

\n");

}

32、输入一个整数,判断它能否被3,5,7整除。

#include

voidmain()

{

intx;

printf("Pleaseenterx:

\n");

scanf("%d",&x);

if(x>0)

{

if(x%3==0)

printf("%d能被3整除\n",x);

if(x%5==0)

printf("%d能被5整除\n",x);

if(x%7==0)

printf("%d能被7整除\n",x);

}

else

printf("Youarewrong!

\n");

}

33、用整数1~12依次表示1~12月,由键盘输入一个月份数,输出对应的季节英文名称(12~2月为冬季;3~5月为春季;6~8月为夏季;9~11月为秋季。

要求用if嵌套实现)。

#include

voidmain()

{

intmonth;

printf("Pleaseenter:

\n");

scanf("%d",&month);

if((month>=1)&&(month<=12))

{

if((month>=3)&&(month<=5))

printf("Spring\n");

elseif((month>=6)&&(month<=8))

printf("Summer\n");

elseif((month>=9)&&(month<=11))

printf("Fall\n");

else

printf("Winter\n");

}

else

printf("Youarewrong!

\n");

}

34、编写输入整数a,b,c,当a为1时显示b和c之和,a为2时显示b与c之差,a为3时显示b*c之积,a为4时取b/c之商,a为其他数值时不做任何操作的程序。

#include

voidmain()

{

inta,b,c;

printf("Pleaseentera,bandc:

\n");

scanf("%d%d%d",&a,&b,&c);

switch(a)

{

case1:

printf("b+c=%d\n",b+c);break;

case2:

printf("b-c=%d\n",b-c);break;

case3:

printf("b*c=%d\n",b*c);break;

case4:

printf("b/c=%f\n",(float)b/c);break;

default:

;

}

}

35、编写输入一个整数,将其数值按小于10,10~99,100~999,1000以上分类并显示。

#include

voidmain()

{

intx;

printf("Pleaseenterx:

\n");

scanf("%d",&x);

if((x>0)&&(x<=10))

printf("%d小于10\n",x);

elseif((x>10)&&(x<=99))

printf("%d位于10~99\n");

elseif((x>=100)&&(x<=999))

printf("%d位于100~999\n");

elseif(x>=1000)

printf("%d在1000以上\n");

}

36、编写输入一个整数,当为65时显示A,66时显示B,67时显示C,其他值时显示END的程序。

#include

voidmain()

{

intx;

printf("Pleaseenterx:

\n");

scanf("%d",&x);

switch(x)

{

case65:

printf("A\n");break;

case66:

printf("B\n");break;

case67:

printf("C\n");break;

default:

printf("END\n");

}

}

37、编程实现:

输入4个整数,要求按由小到大输出

#include

#defineN4

voidmain()

{

inta[N];

inti,j,t;

printf("Pleaseenterthevalueofa:

\n");

for(i=0;i

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

for(i=0;i

{

for(j=0;j

if(a[j]>a[j+1])

{

t=a[j];

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

a[j+1]=t;

}

}

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

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

}

38、企业发放的奖金根据利润的提成,利润I低于或等于10万元的,奖金可提10%;利润高于10万元低于20万时,低于10万的部分按10%提成,高于10万元的部分,可提成7.5%;20万元

从键盘输入当月利润I,求应发奖金部分。

#include

voidmain()

{

floati,jiangjin;

printf("当月利润:

\n");

scanf("%f",&i);

if(i<=10)

jiangjin=i*0.1;

elseif(i<=20)

jiangjin=(i-10)*0.075+10*0.1;

elseif(i<=40)

jiangjin=(i-20)*0.05+10*0.075+10*0.1;

else

jiangjin=(i-40)*0.01+20*0.05+10*0.075+10*0.1;

printf("应发奖金是%2.2f万\n",jiangjin);

}

39、给出一百分制成绩,要求输出成绩等级’A’,’B’,’C’,’D’,’E’。

90分以上为’A’,80-89分为’B’,70-79分为’C’,60-69分为’D’,60分以下为’E’。

#include

voidmain()

{

intscore,s;

printf("Pleaseenterthescore:

\n");

scanf("%d",&score);

if((score>=0)&&(score<=100))

{

s=score/10;

switch(s)

{

case10:

case9:

printf("A\n");break;

case8:

printf("B\n");break;

case7:

printf("C\n");break;

case6:

printf("D\n");break;

default:

printf("E\n");break;

}

}

else

printf("Youarewrong!

\n");

}

40、给出一个不多于5位的正整数,要求①求出它是几位数;②分别打印出每一位数字。

41、从键盘输入三个正整数,判断这三个数能否构成三角形。

#include

#include

voidmain()

{

inta,b,c;

printf("pleaseenterthenumbers:

\n");

scanf("%d%d%d",&a,&b,&c);

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

{

if((fabs(a-b)

printf("可以构成三角形\n");

else

printf("不可以构成三角形\n");

}

else

printf("不可以构成三角形\n");

}

42、编写输入两个整数a和b,若a≥b时,求其积c并显示,若a

#include

voidmain()

{

inta,b,c;

floatd;

printf("pleaseenterthenumbers:

\n");

scanf("%d%d",&a,&b);

if(a>=b)

{

c=a*b;

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

}

else

{

d=(float)a/b;

printf("c=%f\n",d);

}

}

43、用循环结构实现下列图形的输出:

********

运行结果是:

Pleaseentertherowandcol:

816

********

********

********

********

********

********

********

********

********

********

********

********

********

********

********

#include

voidmain()

{

inti,j,row,col;

printf("Pleaseenter

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

当前位置:首页 > 表格模板 > 合同协议

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

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