C语言练习题带答案 下载本文

内容发布更新时间 : 2024/12/24 0:09:26星期一 下面是文章的全部内容请认真阅读。

五、 编程题

1.输入2个整数,求两数的平方和并输出。

#include int main(void) { intt a ,b,s;

printf(\ scanf(\”,&a,&b); s=a*a+b*b;

printf(\return 0; }

2. 输入一个圆半径r,当r>=0时,计算并输出圆的面积和周长,否则,输出提示信息。

#include #define PI 3.14

int main(void)

{ double r ,area , girth; printf(\ scanf(\

if (r>=0) { area =PI*r*r; girth =2*PI*r ;

printf(\

printf(\

else

printf(\ return 0; }

3、已知函数y=f(x),编程实现输入一个x值,输出y值。 2x+1 (x<0) y= 0 (x=0) 2x-1 (x>0)

#include void main() { int x,y;

scanf(“%d”,&x); if(x<0) y=2*x+1;

else if(x>0) y=2*x-1; else y=0;

printf(“%d”,y); }

4.从键盘上输入一个百分制成绩score,按下列原则输出其等级:score≥90,等级为A;80≤score<90,等级为B;70≤score<80,等级为C;60≤score<70,等级为D;score<60,等级为E。

#include void main(){

int data;

char grade; printf(\ scanf(\”, &data);

switch(data/10) { case 10:

case 9 : grade=’A’; break; case 8: grade=’B’; break; case 7: grade=’C’; break; case 6: grade=’D’; break; default: grade=’E’; }

printf(\”,grade); }

5. 编一程序每个月根据每个月上网时间计算上网费用,计算方法如下:

30元?? 费用??每小时3元?每小时2.5元??10小时10?50小时 ?50小时要求当输入每月上网小时数,显示该月总的上网费用(6分) #include void main() { int hour; float fee;

printf(“please input hour:\\n”); scanf(“%d”,&hour); if(hour<=10) fee=30;

else if(hour>=10&&hour<=50) fee=3*hour;

else fee=hour*2.5;

printf(“The total fee is %f”,fee); }

6. 从键盘输入10个整数,统计其中正数、负数和零的个数,并在屏幕上输出。 #include void main( ) {

int a, i,p=0,n=0,z=0;

printf(\

for(i=0;i<10;i++){ scanf(\ if (a>0) p++;

else if (a<0) n++; else z++; }

printf(\正数:], 负数:],零:]\\n\

}

7、编程序实现求1-10之间的所有数的乘积并输出。 #include void main( ) { int i;

long sum=1;

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

printf(“the sum of odd is :%ld”,sum);

}

8. 从键盘上输入10个数,求其平均值。

#include void main(){

int a,i,sum=0; float ave;; for(i=0;i<10;i++){ scanf(\ sum+=a; }

ave=(float)sum/10;

printf(\}

9、编程序实现求1-1000之间的所有奇数的和并输出。

#include void main( )

{ int i, sum=0;

for(i=1; i<1000; i=i+2) sum=sum+i;

printf(“the sum of odd is :%d”,sum);

}

10.有一个分数序列:2/1,3/2,5/3,8/5,13/8,……编程求这个序列的前20项之和。 #include void main(){ int i,t,n=20;

float a=2,b=1,s=0; for(i=1;i<=n;i++) {s=s+a/b; t=a; a=a+b; b=t; }

printf(\}

11.从键盘输入两个数,求出其最大值(要求使用函数完成求最大值,并在主函数中调用

该函数)

#include float max(float x,float y); void main() { float a,b,m;

scanf(\m=max(a,b);

printf(\}

float max(float x,float y) {

if (x>=y) return x; else

return y; }

12. 编写程序,其中自定义一函数,用来判断一个整数是否为素数,主函数输入一个数,输出是否为素数。

#include #include

int IsPrimeNumber(int number) { int i;

if (number <= 1) return 0;

for (i=2; i

return 1;} void main() { int n;

printf(“Please input n:”); scanf(“%d”,&n); if(IsPrimeNumber(n))

printf(“\\n%d is a Prime Number”,n);

else printf(“\\n%d is not a Prime Number”,n);}

13、从键盘输入n个数存放在数组中,将最小值与第一个数交换,输出交换后的n个数。

#include int main(void){

int i,n,iIndex,temp; int a[10];

printf(\ scanf(\

printf(\ for(i=0;i

for(i=1;i<10;i++){ if(a[i]

temp=a[0];a[0]=a[iIndex];a[iIndex]=temp; for(i=0;i<10;i++) printf(\ printf(\ return 0; }

14. 用数组实现以下功能:输入5个学生成绩,而后求出这些成绩的平均值并显示出来。

#include void main()

{ int a[5], s=0; int i;

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

scanf(“%d”,&a[i]); for(i=0;i<5;i++) s=s+a[i];

printf(“result=%f”,s/5.0); }