求助!简单C语言编程题3道

来源:百度知道 编辑:UC知道 时间:2024/06/17 02:49:50
1.输入两个正整数a和n,求a+aa+aaa+…+aa…a(n个a)之和。要求定义并调用函数 fn(a,n).

2.给定平面任意两个坐标(x1,y1)和(x2,y2),求这两点之间的距离(保留2位小数)。要求定义和调用函数dist(x1, y1, x2, y2)计算两点间距离。

3. 读入一个整数,统计并输出该数中2的个数。 要求定义并调用函数countdigit(number,digit)。

我上课时候没听很明白。。 所以做的时候都是没有结果的。。 谁帮帮我呀

1.
#include <stdio.h>
int fn(int a,int n)
{
int count,sum=0,b=0;
for(count=1;count<=n;count++)
{
b+=a;
sum+=b;
a=a*10;
}
return sum;
}
main()
{
int a,n,sum=0;
printf("input a and n:");
scanf("%d%d",&a,&n);
sum=fn(a,n);
printf("a+aa+aaa+...=%d",sum);
}
2.
#include <stdio.h>
#include <math.h>
int dist(int x1,int y1,int x2,int y2)
{
return (int)sqrt(abs(x1-x2)*abs(x1-x2)+abs(y1-y2)*abs(y1-y2));
}
main()
{
int x1,x2,y1,y2,s;
printf("input a and n:");
scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
s=dist(x1,y1,x2,y2);
printf("distance=%d",s);
}
3.
#include <stdio.h>
#include <math.h>
int countdigit(int number,int digit)
{
int count=0;
do
if(number%10==digit)
count++