C语言练习1.docx
- 文档编号:4835863
- 上传时间:2022-12-10
- 格式:DOCX
- 页数:9
- 大小:16.06KB
C语言练习1.docx
《C语言练习1.docx》由会员分享,可在线阅读,更多相关《C语言练习1.docx(9页珍藏版)》请在冰豆网上搜索。
C语言练习1
#include
#include
intmain()
{
return0;
}
1.【问题描述】给定平面任意两点的坐标(x1,y1)和(x2,y2),求这两点之间的距离(保留两位小数)。
要求求距离的运算单独放在一个函数中,然后在main函数中调用。
【输入形式】输入两点的坐标(x1,y1)和(x2,y2)
【输出形式】两点间的距离
【样例输入】815849
【样例输出】5.00
#include
#include
#include
floatdistance(floatx1,floaty1,floatx2,floaty2);
intmain()
{
floatx1,x2,y1,y2,dis;
scanf("%f",&x1);
scanf("%f",&y1);
scanf("%f",&x2);
scanf("%f",&y2);
dis=distance(x1,y1,x2,y2);
printf("%.2f",dis);
return0;
}
floatdistance(floatx1,floaty1,floatx2,floaty2)
{
floatz,d;
d=(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2);
z=sqrt(d);
returnz;
}
2.【问题描述】输入一批正整数(以零或负数为结束标志),求其中的奇数和。
要求定义和调用函数even(n)判断数的奇偶性,当n为偶数时返回1,否则返回0.
【输入形式】输入一批正整数(以零或负数为结束标志)
【输出形式】求其中的奇数和
【样例输入】129718311200
【样例输出】30
#include
#include
inteven(intx)
{
if(x%2==0){
return1;
}
elsereturn0;
}
intmain()
{
intn,sum,i;
sum=0;
n=5;
for(i=1;n>0;i++){
scanf("%d",&n);
if(even(n)==1)
continue;
else
sum=sum+n;
}
while(n>0);
printf("%d\n",sum);
return0;
}
3.【问题描述】输入2个正整数m和n(m>1,n<=500),统计并输出m和n之间的素数个数以及这些素数的和。
素数就是只能被1和自身整除的正整数,最小的素数是2.要求调用函数prime(m)判断m是否为素数,当m为素数时返回1,否则返回0.
【输入形式】
【输出形式】
【样例输入】2,10
【样例输出】count=4,sum=17
【样例说明】1到10之间有4个素数:
2,3,5,7
#include
#include
#include
intprime(int);
intmain()
{
intm,n,count,sum,i;
sum=0;
count=0;
scanf("%d",&m);
scanf("%d",&n);
for(i=m;i<=n;i++){
if(prime(i)==0){
count++;
sum=sum+i;
}
}
printf("count=%d,sum=%d",count,sum);
return0;
}
intprime(intn)
{
inti;
i=2;
while(i { if(n%i==0) { break; } i++; } if(i==n){ return(0); } else{return (1);} } 4.【问题描述】输入2个正整数a和n,求a+aa+aaa+a.....a(n个a)之和。 要求定义并调用函数fn(a,n),它的功能是返回aa......a(n个a)。 例如fn(3,2)的返回值是33 【输入形式】 【输出形式】 【样例输入】8,5 【样例输出】sum=98760 【样例说明】(样例中a是8,n是5) 【评分标准】 #include #include #include intfn(intx,inty); intmain() { inta,n,b; scanf("%d",&a); scanf("%d",&n); b=fn(a,n); printf("sum=%d",b); return0; } intfn(intx,inty) { intsum=0,m=0; inti=1; intj,p; while(i<=y){ for(j=1,m=0;j<=i;j++){ p=pow(10,(j-1)); m=m+x*p; } sum=sum+m; i++; } returnsum; } 5.【问题描述】输入一个正整n,生成一张阶乘表,输出1! ~n! 的值。 要求定义和调用函数fact(n)计算n! 函数类型为double 【输入形式】 【输出形式】 【样例输入】3 【样例输出】1! =1 2! =2 3! =6 #include #include doublefact(intn); intmain() { intn,i; scanf("%d",&n); doubles; i=1; while(i<=n){ s=fact(i); printf("%d! =%.0f\n",i,s); i++; } return0; } doublefact(intn){ inti,p; doubles; i=1; s=1; while(i<=n){ s=s*i; i++; } returns; } 【样例说明】 6.【问题描述】读入一个整数,统计并输出该数中指定数字的个数,要求调用函数countdigit(number,digit),他的功能是统计整数number中数字digit的个数。 ;例如,countdigit(10090,0)的返回值是3. 【输入形式】 【输出形式】 【样例输入】21252,2 【样例输出】Numberofdigit2: 3 #include #include intcountdigit(intnum,intdigit); intmain() { intnum,digit,s; scanf("%d",&num); scanf("%d",&digit); s=countdigit(num,digit); printf("Numberofdigit%d: %d",digit,s); return0; } intcountdigit(intnum,intdigit){ inti,j=0; while(num%10! =0){ i=num%10; num=num/10; if(i==digit){ j++; } } returnj; } 7.【问题描述】输入2个正整数m和n(m>=1,n<=1000),输出m~n之间的所有完数,完数就是因子和与它本身相等的数。 要求定义并调用函数factorsum(number),它的功能是返回number的因子和。 例如,factorsum(12)的返回值是16(1+2+3+4+6) 【输入形式】 【输出形式】 【样例输入】1,100 【样例输出】1628 【样例说明】(试例中m是1,n是100) #include #include intfactorsum(intnum); intmain() { intm,n,s,i,j; scanf("%d",&m); scanf("%d",&n); i=m; while(i<=n){ s=factorsum(i); if(s==i){ printf("%d",s); } i++; } return0; } intfactorsum(intn){ inti,sum; i=1; sum=0; if(n==1){ sum=1; } else{ while(i if(n%i==0){ sum=sum+i; } i++; } } returnsum; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 练习