C语言程序设计上机习题与参考答案

时间:2025-03-13

C语言程序设计上机习题与参考答案

C语言程序设计上机习题

1、 给出三角形的三边a、b、c,求三角形的面积(应先判断a、b、c三边是否能构成一个三角形)。

2、 某幼儿园只收2~6岁的小孩,2~3岁编入小班,4岁编入中班,5~6岁编入大班,编制程序实现每输入一个年龄,输出该编入什么班。

3、 编写程序,输入一个整数,判断它能否被3、5、7整除,并根据情况输出下列信息:(1)能同时被3、5、7整;(2)能同时被3、5、7中的两个数整除,并输出这两个数;(3)只能被3、5、7中的一个数整除;(4)不能被3、5、7中的任何一个数整除。

4、 请列出所有的个位数是6,且能被3整除的两位数。

5、 求1~500中能被5整除的数的倒数之和。

6、 编写程序,输入某门功课的若干个同学的成绩,以-1作为终值,计算平均成绩并输出。

7、 若口袋里放入12个球,3个红球,3个白的,6个黑的,从中任取8个,编写程序,列出所有可能的取法。

8、 编写一个程序,求2012!的末尾有多少个0?

9、 一个自然数平方的末几位与该数相同时,称该数为同构数。例如:252=625,则25为同构数。编程求出1~1000中的同构数。

10、 输入一个较大的整数,求小于该整数的最大5个素数。

n11、 求下列数列的近似值:S=1-1/22+1/33-1/44+ (-1)/nn.输入精

度,当某一项的精度小于该值时停止计算。

float fun(float esp)

{ }

void main()

{float esp;

scanf(“%f”,&esp);

printf(“%f\n”,fun(esp));}

12、 编写一个函数change(int x,int r),将十进制整数x转换成r(1<r<10)进制后输出。

13、 求1000以内的亲密数对。亲密数对的定义为:若整数a 的所有因子(不包括本身)之和为b,b的所有因子(不包括b本身)之和为a,且a和b不相等,则称a与b为亲密数对。 int fun(int x)

{ }

void main()

{int n,a,b;

C语言程序设计上机习题与参考答案

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

{b=fun(n);

a=fun(b)

if(a!=b&&a==n)printf(“\n%d,%d\n”,a,b);

} }

14、 用递归法求下列问题的解:一对小兔,一个月后长成中兔,第二个月长成大兔,长成大兔,长成大兔后以后每个月生一对小兔。第20个月有多少对兔子?

15、 定义一个函数long f(char s[ ]),函数功能是将字符串s(只由数字符组成)转换为一个整数,并作为函数的返回值。

long f(char s[ ])

{ }

void main()

{ char s[10];

long int res;

gets(s);

res=f(s);

printf(“%ld\n”,res); }

16、 自编一函数,其功能是求一维数组最大值的下标,最大值由主函数输出。

int fun(float aa[ ],int n )

{ }

void main()

{float a[10];

int k,max;

for(k=0;k<10;k++)

scanf(“%f’,a+k);

max=fun(a,10);

printf(“Max=%f\n”,a[max]); }

17、 编写一个函数fun(char s[ ],int n),函数的功能是将字符串s循环左移n个字符。主函数输入一个字符串的一个整数。

void fun(chaf s[ ],int n)

{ }

void main()

{char ss[255];

int n;

gets(ss);

printf(“Input data:\n”);

scanf(“%d”,&n);

fun(ss,n);

puts(ss);}

18、 编写一个函数,其功能是将字符串中指定的字符删除。

C语言程序设计上机习题与参考答案

void fun(char *ss,char c)

{ }

void main()

{char s[255],ch;

printf(“Input a string:\n”);

gets(s);

printf(“Input a character:\n”);

scanf(“%c”,&ch);

fun(s,ch);

puts(s);

}

19、 完成下面的函数,函数的功能是将a数中大于平均值的数组元素存入b数组中,大求平均值的数据个数通过指针方式返回。 void fun(int *a,int *b,int k,int *n)

{ }

void main()

{int a[10],b[10],kk,,sum;

for(kk=0;kk<10;kk++)

scanf(“%d”,aa+k);

fun(a,b,10,&sum);

for(kk=0;kk<sum;kk++)

printf(“%6d”,*(b+kk));

}

20、 从键盘输入一任意的字符串,编一函数,其功能是将该字符串的数字字符构成一个数据返回。例如:输入字符串为1dfk3d45,得到返回值为1345.

void fun(char *s,long int *n)

{ }

void main()

{char s[20];

long int d;

gets(s);

fun(s,&d);

printf(“%ld\n”,d);}

C语言程序设计上机习题与参考答案

参考答案

1.

#include<stdio.h>

#include<math.h>

void main()

{

float a=3,b=4,c=5,p=0,s=0;

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

{

p=0.5*(a+b+c);

s=sqrt(p*(p-a)*(p-b)*(p-c));

printf("面积是%f\n",s);

}

else printf("不能构成三角形\n");

}

2.

#include<stdio.h>

#include<math.h>

void main()

{

int age;

printf("请输入年龄:");

scanf("%d",&age);

if(age>=2&&age<=6)

if(age<=3)

printf("编入小班\n");

else

if(age<=5)

printf("编入中班\n");

else

printf("编入大班\n");

else

printf("您的输入有误!\n");

}

3.

(1)#include<stdio.h>

C语言程序设计上机习题与参考答案

void main()

{

int n;

printf("请输入数n:\n");

scanf("%d",&n);

if(n%3==0&&n%5==0&&n%7==0)

printf("能同时 …… 此处隐藏:5036字,全部文档内容请下载后查看。喜欢就下载吧 ……

C语言程序设计上机习题与参考答案.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219