C语言网题库1122题,C语言考试试题及答案

安徽大学C语言实验参考答案

2008年10月15日 下午 06:01

放在这里算是备份吧,只有一部分

实验一

5、输入并运行自已编写的程序(教材第一章P14 三 编程题)。

实验二

1、编写一个程序,从键盘接收3个实数(分别为10.0、20.0、5.0),输出这3个数的和s、乘积t和平均值a。

#include

main()

{float x,y,z,s,t,a;

printf(“x,y,z=”);

scanf(“%f,%f,%f”,&x,&y,&z);

s=x+y+z;

t=x*y*z;

a=s/3;

printf(“s=%f,t=%f,a=%f ”,s,t,a);

}

2、编程。要求用户输入两个整数a、b(分别为20、10), 读取用户从键盘输入的值,然后:

1)用整数输出这两个数的和、差;

2)用长整型输出这两个数的积,用float输出商;

3)用整数输出这两个数的余数,用float输出平均值。

#include

main()

{int a,b,he,cha,yu;

long ji;

float shang,aver;

printf(“a,b=”);

scanf(“%d,%d”,&a,&b);

he=a+b;

cha=a-b;

ji=(long)a*b;

shang=1.0*a/b;

yu=a%b;

aver=(a+b)/2.0;

printf(“a+b=%d,a-b=%d,a*b=%ld ”,he,cha,ji);

printf(“a/b=%f,a%%b=%d,aver=%f ”,shang,yu,aver);

}

实验三

1、编写一个程序,从键盘接收一个一位的整型数,经转换,用字符函数putchar输出。例如,输入整数5,程序运行后输出字符5。

#include

main()

{int a;

char c;

printf(“a=”);

scanf(“%d”,&a);

c=a+48;

putchar(c);

}

2、编程。输入半径,计算球体表面积( )和球体积 ( )。

#include

#define PI 3.1415926

main()

{float r,s,v;

printf(“r=”);

scanf(“%f”,&r);

s=4*PI*r*r;

v=4/3.0*PI*r*r*r;

printf(“s=%f,v=%f ”,s,v);

}

3、编写一个程序,要求通过键盘给6个变量赋值,然后将变量的值在屏幕上打印输出。这六个变量的值分别为:10,-10,40000,a,3.14,hello。

#include

main()

{int a,b;

long c;

char d,ch[6];

float e;

scanf(“%d,%d,%ld,%c,%f,%s”,&a,&b,&c,&d,&e,ch);

printf(“%d,%d,%ld,%c,%f,%s ”,a,b,c,d,e,ch);

}

实验四

1、输入三个整数,分别存放到变量a,b,c中,试编程输出其中的最小值。

#include

main()

{int a,b,c,min;

printf(“a,b,c=”);

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

min=a>b?(b>c?c:b):(a>c?c:a);

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

}

2、输入一个字符,如是大写字母,则输出相应小写字母;如是小写字母,则输出相应大写字母;其它字符原样输出

。(例如:输入F,输出f,输入b,输出B,输入7,输出7)。

#include

main()

{char c,ch;

c=getchar();

ch=c;

if(c>=‘A’&&c<=‘Z’)

ch=c+32;

if(c>=‘a’&&c<=‘z’)

ch=c-32;

putchar(ch);

}

实验五

1、函数

⑴用条件表达式求函数值y。

⑵用if语句编程,输入x,输出y,并给出你所使用的测试用例。

解(1)

#include

main()

{int y;

float x;

printf(“x=”);

scanf(“%f”,&x);

y=x>0?1:(x==0?0:-1);

printf(“y=%d ”,y);

}

解(2)

#include

main()

{int y;

float x;

printf(“x=”);

scanf(“%f”,&x);

if(x>0)

y=1;

else if(x==0)

y=0;

else

y=-1;

printf(“y=%d ”,y);

}

2、试编程输入成绩cj(cj为整型变量),如果cj的值在[100,90]内输出A,在(90,80]内输出B,在(80,70]内输出C,在(70,60]内输出D,在(60,0]内输出E,其它输出错误信息。请使用if语句和switch语句分别实现。

解(1)

#include

main()

{int cj;

printf(“cj=”);

scanf(“%d”,&cj);

if(cj>=90&&cj<=100)

printf(“A ”);

else

if(cj>=80&&cj<90)

printf(“B ”);

else

if(cj>=70&&cj<80)

printf(“C ”);

else

if(cj>=60&&cj<70)

printf(“D ”);

else

if(cj>=0&&cj<60)

printf(“E ”);

else

printf(“输入错误 ”);

}

解(2)

#include

main()

{int cj,n;

printf(“cj=”);

scanf(“%d”,&cj);

n=(cj>=0)+(cj>=60)+(cj>=70)+(cj>=80)+(cj>=90)+(cj>100);

switch(n)

{case 5:printf(“A ”);break;

case 4:printf(“B ”); break;

case 3:printf(“C ”); break;

case 2:printf(“D ”); break;

case 1:printf(“E ”); break;

default:printf(“输入错误 ”);

}

}

实验六

1、编程:输出200以内所有能被7整除的数。

#include

main()

{int i;

for(i=0;i<=200;i+=7)

printf(“%4d”,i);

}

2、从键盘输入n个数(n<10),找出其中最小值,请编写相应程序。

#include

main()

{int n,i,a,min;

printf(“n=”);

scanf(“%d”,&n);

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

{scanf(“%d”,&a);

if(i==1)min=a;

if(min>a)min=a;

}

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

}

3、键盘输入正整数m和n(m

#include

main()

{int m,n,i,x1=0,x2=0;

printf(“input m,n(m

scanf(“%d,%d”,&m,&n);

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

if(i%2==1)x1+=i;

else x2+=i;

printf(“x1(奇数之和)=%d,x2(偶数之和)=%d ”,x1,x2);

}

实验七

1、打印出所有的"水仙花数",所谓的"水仙花数"是指一个3位数,其各位数字的立方和等于该数本身。例如,153是一个"水仙花数",因为有153=1*1*1+5*5*5+3*3*3

解(1)

#include

main()

{int a,b,c,n;

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

for(b=0;b<=9;b++)

for(c=0;c<=9;c++)

{n=100*a+10*b+c;

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

printf(“%d ”,n);

}

}

解(2)

#include

main()

{int a,b,c,n;

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

{a=n/100;

b=n%100/10;

c=n%10;

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

printf(“%d ”,n);

}

}

2、请分别用三种循环结构编程计算: 1!+2!+3!+...+n! , n的值由键盘输入。

解(1)

#include

main()

{int n,i;

long p=1,sum=0;

printf(“n=”);

scanf(“%d”,&n);

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

{p*=i;

sum+=p;

}

printf(“1!+2!+…+%d!=%ld ”,n,sum);

}

解(2)

#include

main()

{int n,i=1;

long p=1,sum=0;

printf(“n=”);

scanf(“%d”,&n);

while(i<=n)

{p*=i;

sum+=p;

i++;

}

printf(“1!+2!+…+%d!=%ld ”,n,sum);

}

解(3)

#include

main()

{int n,i=1;

long p=1,sum=0;

printf(“n=”);

scanf(“%d”,&n);

do

{p*=i;

sum+=p;

i++;

}

while(i<=n);

printf(“1!+2!+…+%d!=%ld ”,n,sum);

}

实验八

1、打印输出由1,2,3,4四个数字组成的4位数,并统计它的个数(允许该4位数中有相同的数字,例如:1111,1122,,1212等).。

#include

main()

{int n,a,b,c,d,num=0;

for(a=1;a<=4;a++)

for(b=1;b<=4;b++)

for(c=1;c<=4;c++)

for(d=1;d<=4;d++)

{n=1000*a+100*b+10*c+d;

printf(“%5d”,n);

num++;

}

printf(“ num=%d ”,num);

}

2、从键盘输入10个正整数进行求和,如果错误地输入了负数,则求和结束。请分别用break和不用break编写相应程序。

解(1) 用break编写程序

#include

main()

{int i,n,sum=0;

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

{scanf(“%d”,&n);

if(n>=0)sum+=n;

else break;

}

printf(“sum=%d”,sum);

}

解(2) 不用break编写程序

#include

main()

{int i=1,n=0,sum=0;

while(i<=10&&n>=0)

{scanf(“%d”,&n);

if(n>=0)

sum+=n;

i++;

}

printf(“sum=%d”,sum);

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值