1、输入一行字符,分别统计出其中的英文字母、空格、数字和其它字符的个数。
#include<stdio.h>
int main()
{
char c;
int letters=0,space=0,digit=0,other=0;
printf("请输入一行字符:\n");
while((c=getchar())!='\n')
{
if(c>='a'&&c<='z'||c>='A'&&c<='Z')
letters++;
else if(c==' ')
space++;
else if(c>='0'&&c<='9')
digit++;
else
other++;
}
printf("字母数:%d\n空格数:%d\n数字数:%d\n其他字符数:%d\n",letters,space,digit,other);
return 0;
}
2、用for 语句求1 到100中是 3的倍数的数的和。
#include <stdio.h>
int main()
{
int i,sum=0;
for(i=1;i<=100 ; i++)
{
if(i%3==0)
{
sum=sum+i;
}
}
printf("%d\n",sum);
return 0;
}
3、求 + ,其中n1、n2、k1、k2键盘输入,输错重输(如:n1>n2),k1>k2同上
#include <stdio.h>
int main()
{
int n1,n2,k1,k2;
int s1=0,s2=0,sum,m,n;
int i,j;
printf("Please inut 4 number:\n");
scanf("%d %d %d %d",&n1,&n2,&k1,&k2);
while(n1>n2 || k1>k2) // 体现输错重输
{
printf("Please input again!!\n");
scanf("%d %d %d %d",&n1,&n2,&k1,&k2);
}
for(j=n1;j<=n2;j++)
s1=s1+(2*j*j);
m=1;
for(i=1;i<=k1-1;i++)
m=m*i;
for(i=k1;i<=k2;i++)
{
m=m*i;
if(i%2==0) n=1;
else n=-1;
s2=s2+n*m;
}
sum=s1+s2;
printf("sum=%d",sum);
return 0;
}
4、略…
5、找出5000以内的所有完数。完数是指一个数是它的所有因子的和。
#include<stdio.h>
int main()
{
int m,s,i;
printf("它的所有完数是:\n");
for(m=2;m<5000;m++)
{
s=0;
for(i=1;i<m;i++)
if((m%i)==0)
s=s+i;
if(s==m)
{
printf("%d,Ta de yin zi:",m);
for(i=1;i<m;i++)
if(m%i==0)
printf("%d",i);printf("\n");
}
}
}
6、任意输入10个数,分别算出其中负数和正数的个数。
#include<stdio.h>
int main()
{
int i,p,n;
int f[10];
double x;
printf("please input any ten number:\n");
p=n=0;
for(i=0;i<10;i++)
{
scanf("%d",&f[i]);
if(f[i]>0)
p++;
else if(f[i]<0)
n++;
}
printf("目前有%d正数%d个负数%d个零\n",p,n,10-p-n);
}
7、键盘输入字符串,遇‘#’结束,分别统计字母、数字和其它字符个数。
#include<stdio.h>
int main()
{
char c;
int cha,num,other;
cha=num=other=0;
printf("please input any character:\n");
while((c=getchar())!='#')
{
if(c>='0'&&c<='9')
num++;
else
if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
cha++;
else
other++;
}
printf("shuzi:%d\nzimu:%d\nother:%d\n",num,cha,other);
}
8、计算1-100内所有含有6的数的和。
#include<stdio.h>
int main()
{
int i,sum=0;
for(i=1;i<=100;i++)
{
if((i%10==6)||(i/10==6))
{
sum=sum+i;
}
}
printf("%d\n",sum);
}
9、输出所有3位水仙花数。所谓水仙花数是指所有位的数字的立方和等于该数。例:153=13+53+33。
#include<stdio.h>
int main()
{
int i,j,k,n;
printf("水仙花数字有\n");
for(n=100;n<1000;n++)
{
i=n/100;
j=n/10-i*10;
k=n%10;
if(n==i*i*i+j*j*j+k*k*k)
printf("%d\n",n);
}
printf("\n");
return 0;
}
10、观察数列,输出其前10项,每4个数一行,每个数占8列。
2 ,2, 4, 4, 6, 6, 8…
#include<stdio.h>
#define N 20
int main()
{
int i,j,sum=0;
for(i=0;i<=N/2;i++)
{
sum=sum+2;
for(j=0;j<2;j++)
{
printf("%8d",sum);
}
if(i%2!=0)
printf("\n");
}
printf("\n");
}
9,编写程序输出下面图形。
1
2 3
4 5 6
7 8 9 0
#include <stdio.h>
int main()
{
int nums[10]={1,2,3,4,5,6,7,8,9,0};
int i,j,k=0;
for(i=1;i<5;i++)
{
for(j=0;j<i;j++)
printf("%d",nums[k++]);
printf("\n");
}
}