一些简单的小程序_4——C语言篇

来源:互联网 发布:centos pcre 下载 编辑:程序博客网 时间:2024/05/18 13:31
1.
#include<stdio.h>
int main(){int n = 0;int i = 0;for(i=0; i<n; i++){int j = 0;for(j=0; j<n-i-1; j++){ printf(" ");} for(j=0; j<2*i+1; j++) {  printf("*");} printf("\n"); } for(i=0; i<n-1; i++){int j = 0; for(j=0; j<i+1; j++) { printf(" "); }for(j=0; j<(n-1-i)*2-1; j++){ printf("*"); } printf("\n"); }return 0;}
2.求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字,例如:2+22+222+2222+22222

#include<stdio.h>

int main()
{

 int a = 2;
 int n = 5;
 int i = 0;
 int sum = 0;
 int tmp = 0;
 for(i=0; i<n; i++)
 {
  tmp = tmp*10+a;
  sum  = sum + tmp;
 }
 printf("%d\n", sum);
 return 0;
}

3.计算0到999的所有水仙花数并输出

#include<stdio.h>

#include<math.h>

int main()
{
 int i = 0;
 for(i=0; i<999; i++)
 {
  int sum = 0;
  int n = 1;
  int tmp = 0;

tmp=i;
  while(tmp>9)
  {
   count++;
   tmp = tmp/10;
  }
  tmp = i;
  while(tmp)
  {
   sum += pow(tmp%10, count);
   tmp = tmp/10;
  }
  if(sum == i)
  {
   printf("%d ", i);
  }
 }
 return 0;
}

4.编写一个程序,它从标准输入读取C源代码,并验证所有的花括号都正确的成对出现。

#include<stdio.h>

int main()
{
 
 int a = 0;
 int b = 0;
 while((a = getchar()) != EOF)
 {
  if(a == '{')
   b++;
  else if(ch == '}' && b==0)
  {
   printf("不是成对出现\n");
   return 0;
  }
  else if(a == '}')
   b--;
 }
 if(b == 0)
 {
  printf("是成对出现\n");
 }
 else
 {
  printf("不是成对出现\n");
 }
 return 0;
}