C语言经典案例(7~~9)

(7)题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数
   本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。

/* Note:Your choice is C IDE */
#include "stdio.h"
#include "math.h"
void main()
{
   int a,b,c,x;
   for(x=100;x<=999;x++)
   {
   a=x/100;
   b=x%100/10;
   c=x%10;
   if(pow(a,3)+pow(b,3)+pow(c,3)==x)
   printf("%d\n",x);    
   }
}


运行结果

 (8)题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

 /* Note:Your choice is C IDE */
#include "stdio.h"
main()
{char a;
 int letters=0,space=0,number=0,others=0;
 printf("请输入一行字符\n");
 while((a=getchar())!='\n')
 {
 if(a>='a'&&a<='z'||a>='A'&&a<='Z')
  letters++;
 else if(a==' ')
  space++;
   else if(a>='0'&&a<='9')
       number++;
     else
       others++;
}
printf("总计:字符=%d 空格=%d 数字=%d 其他=%d\n",letters,space,number,others);
}

运行结果

 (9)题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时
   共有5个数相加),几个数相加有键盘控制。

/* Note:Your choice is C IDE */
#include "stdio.h"
#include "math.h"
void main()
{
    int t,a,b,i,sum=0;
    scanf("%d %d",&a,&b);
     t=a;
  for(i=1;i<=b;i++)
  {
      sum+=a;
      a=a+t*pow(10,i);
  
  }
  printf("a+aa+...=%ld\n",sum);
}

运行结果

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章