循环结构程序设计代码示例

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");
	   } 
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值