请大家帮我看一下这几道题错在哪,谢谢~
输入一行字符,分别统计出其中英文字母、数字、空格和其他字符的个数。#include<stdio.h>
int main()
{
char ch;
int a=0,b=0,c=0,d=0;
while((ch=getchar()!='\n'))
{
if(ch>='a'&&ch<='z')
{
a++;
}
else if(ch==' ')
{
b++;
}
else if(ch>='0'&&ch<='9')
{
c++;
}
else
d++;
}
printf("%d %d %d %d\n",a,c,b,d);
return 0;
}
求以下三数的和,保留2位小数 1~a之和 1~b的平方和 1~c的倒数和
#include <stdio.h>
int main()
{
int a,b,c;
double s1=0,s2=0,s3=0;
scanf("%d%d%d",&a,&b,&c);
for(int i=1;i<=a;i++)
{ s1=s1+i; }
for(int j=1;j<=b;j++)
{ s2=s2+b*b; }
for(int k=1;k<=c;k++)
{ s3=s3+(1.0/k); }
printf("%.2lf\n",s1+s2+s3);
return 0;
}
一个数如果恰好等于它的因子之和,这个数就称为"完数"。 例如,6的因子为1、2、3,而6=1+2+3,因此6是"完数"。 编程序找出N之内的所有完数,并按下面格式输出其因子:
6 its factors are 1 2 3
28 its factors are 1 2 4 7 14
496 its factors are 1 2 4 8 16 31 62 124 248
#include<stdio.h>
int main()
{
int i,N,k,s;
scanf("%d",&N);
for(i=1;i<=N;i++)
{
s=0;
for(k=1;k<i;k++)
if(i%k==0)
s=s+k;
if(s==i)
{
printf("%d its factors are ",i);
for(k=i;k<i;k++)
if(i%k==0)
printf("%d ",k);
printf("\n");
}
}
return 0;
}
有一分数序列: 2/1 3/2 5/3 8/5 13/8 21/13...... 求出这个数列的前N项之和,保留两位小数。
#include<stdio.h>
int main()
{
int a=2,b=1,N,t,c;
double s=0;
scanf("%d",&N);
for(int i=0;i<N;i++)
{
t=a/b;
s=s+t;
c=a;
a=a+b;
b=c;
}
printf("%.2lf\n",s);
return 0;
}
谢谢大家~~