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个素数.
11、求下列数列的近似值:S=1-1/22+1/33-1/44+…〔-1〕n/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;
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、编写一个函数,其功能是将字符串中指定的字符删除.
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];
c语言程序分析题及答案 long int d;
gets<s>;
fun<s,&d>;
printf<"%ld\n",d>;}
参考答案
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<"请输入年龄:">;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论