/*
/***
/*****
/*******
/*********
/***********
/*************
/***********
/*********
/*******
/*****
/***
/*
方法一:利用switch函数
#include <stdio.h> #include <stdlib.h> int main(){ int i=0; for(i=1;i<14;++i){ switch(i){ case 1: case 13:printf("*\n");break; case 2: case 12:printf("***\n");break; case 3: case 11:printf("*****\n");break; case 4: case 10:printf("*******\n");break; case 5: case 9:printf("*********\n");break; case 6: case 8:printf("***********\n");break; case 7:printf("*************\n");break; } } system("pause"); return 0; }
方法二:利用for语句来实现,由于图案按照等差数列方式排列,所以可以利用等差数列的通式的知识来实现。
#include <stdio.h> #include <stdlib.h> int main(){ int i,j; int n=14; for(i=1;i<=n;++i) { for(j=1;j<=(2*i-1)&&j<=(27-2*i);++j) printf("*"); printf("\n"); } system("pause"); return 0; }
运行结果:
#include <stdio.h> #include <stdlib.h> int main(){ int i; for(i=100;i<1000;++i){ int a = i / 100; int b = i %100 /10; int c = i %100 % 10; if(i== a*a*a + b*b*b + c*c*c){ printf("%d\n",i); } system("pause"); return 0; }
运行结果:
#include <stdio.h> #include <stdlib.h> int main(){ int a; int sum = 0; printf("请输入一个数:"); scanf("%d",&a); int b = 11 * a; int c = 111 * a; int d = 1111 * a; int e = 11111 * a; sum = a + b + c + d + e; printf("sum = %d\n",sum); system("pause"); return 0; }
#include <stdio.h> #include <stdlib.h> int Sn(int a){ int sum = 0; sum = a + 11*a + 111*a + 1111*a + 11111*a; return sum; } int main(){ printf("%d\n",Sn(2)); system("pause"); return 0; }
运行结果: