#include
//goto
//无条件跳转语句
//通常跟if语句配合使用
//goto跳转,只能在当前函数内跳转
//int main(int argc, const char * argv[])
//{
// int n;
// scanf("%d",&n);
//number:
// printf("hello world\n");
//
// if (n<10) {
// n++;
// goto number;
// }
//
// return 0;
//}
//求1~100的和
//int main(int argc, const char *argv[])
//{
// int i=1,sum=0;
//number:
// sum+=i;
// i++;
// if (i<=100) {
//
// goto number;
// }
//
// printf("sum = %d\n", sum);
// return 0;
//}
//void print(void)//错误写法
//{
//
//number:
// printf("hello world\n");
//}
//
//
//int main(int argc, const char *argv[])
//{
// int i;
// scanf("%d",&i);
// if (i<10) {
//
// goto number;
// }
// return 0;
//}
//while(条件表达式)
//{
//循环体语句列表;
//}
//判断表达式是否成立,表达式为真,则执行循环语句体,直到表达式为假,退出循环
//int main(int argc, const char *argv[])
//{
// int i;
// scanf("%d",&i);
// while (i<10) {
// printf("hello world\n");
// i++;
// }
// return 0;
//}
//int main(int argc, const char *argv[])
//{
// int i=1,sum=0;
//
// while (i<=100)
// {
// sum+=i;
// i++;
// }
// printf("i==%d\n",i);
// printf("sum=%d\n",sum);
//
// return 0;
//}
//统计输入字符个数
//ahangxueming\n
//int main(int argc, const char *argv[])
//{
// char ch;
// int count=0;
// while (scanf("%c",&ch),ch!='\n') {
// count++;
// }
// printf("count = %d", count);
// printf("%c",ch);
// return 0;
//}
//int main(int argc, const char *argv[])
//{
// int count=0;
// while (getchar()!='\n') {
// count++;
// }
// printf("count = %d\n",count);
//
// return 0;
//}
//23 输出Y a 输出N
//int main(int argc,const char *argv[])
//{
// int num;
// int ret;
// ret = scanf("%d",&num);
// if (ret) {
// printf("Y\n");
// }
// else
// {
// printf("N\n");
// }
// return 0;
//}
//do
//{
// 循环体语句列表;
//
//}while(条件表达式);
//先执行循环语句体,再判断表达式是否成立,表达式成立,则继续执行循环语句体,直到表达式不成立,退出循环
//求1-100以内的奇数的和(do while做)
//int main(int argc,const char *argv[])
//{
// int i=1,sum=0;
// do{
// if (i%2)
// {
// sum+=i;
// }
// i++;
// }while (i<100);
//
// printf("sum = %d\n", sum);
//
// return 0;
//}
//for (初始化表达式;条件表达式;自增自减表达式) {
// 循环语句体;
//}
//1~100的和
//int main(int argc,const char *argv[])
//{
// int i;
// int sum=0;
// for (i=0; i<=100; i++)
// {
// sum+=i;
// }
// printf("%d\n", sum);
//
// return 0;
//}
//判断一个数是否为素数
//素数只能被1和本身整除的数
//2 3 5 7
//int main(int argc,const char *argv[])
//{
// int n;
// scanf("%d", &n);
// if (n<2) {
// printf("输入错误\n");
// return -1;
// }
// int i;
// for (i=2; i
// {
// if (n%i==0)
// {
// break;//break只能跳出一层循环
// }
// }
// if (i==n) {
// printf("YES\n");
// }
// else
// {
// printf("NO\n");
// }
// return 0;
//}
//打印1~100内所有的奇数
//int main(int argc, const char *argv[])
//{
// int i;
// for (i=1; i<=100; i++) {
// if (i%2) {
// printf("%d ", i);
// }
// }
// putchar('\n');//输出一个字符
//
// return 0;
//}
//输入一个整数,求他的各位数字之和.如:178,数字之和为1+7+8 = 16
//int main(int argc,const char *argv[])
//{
// int num;
// int sum=0;
// scanf("%d", &num);
//
// for (; num!=0; )
// {
// sum+=num%10;
// num/=10;
// }
// printf("sum = %d\n", sum);
// return 0;
//}
//for( ; ; ;)
//int main(int argc,const char *argv[])
//{
// int i=0;
// for (; ; )
// {
// if (i<10)
// {
// printf("hello world\n");
// }
// else
// {
// break;
// }
// i++;
// }
// return 0;
//}
//break, continue
//continue :结束当次循环,继续执行下一次循环
//break:跳出当前对应的整个循环,但是只能跳出一层循环
//int main(int argc,const char *argv[])
//{
// for (int i=0; i<10; i++)
// {
// if (i==5) {
// continue;
// //break;
// }
// printf("i = %d ",i);
// printf("hello world\n");
// }
// putchar('\n');
//
// return 0;
//}
//for(;;)
//{
// for(;;)
// {
// for(;;)
// {
//
// }
// }
// for(;;)
// {
// for(;;)
// }
// while()
// {
// for(;;)
// {
//
// }
// }
//}
//*********
//*********
//*********
//*********
//int main(int argc,const char *argv[])
//{
// int i,j;
// for (i=0; i<4; i++) {
// for (j=0; j<9; j++) {
// printf("*");
// }
// putchar('\n');
// }
// return 0;
//}
//10.输出下列4*5的数字矩阵
//12345
//246810
//3691215
//48121620
//int main(int argc,const char *argv[])
//{
// int i, j;
// for (i=1; i<=4; i++) {
// for (j=1; j<=5; j++) {
// printf("%4d",i*j);
// }
// printf("\n");
// }
// return 0;
//}
//1*1=1
//1*2=2 2*2=4
//1*3=3 2*3=6 3*3=9
//1*4=4 2*4=8 3*4=12 4*4=16
//1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
//1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
//1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
//1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
//1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72
//int main(int argc, const char *argv[])
//{
// int i, j;
// for (i=1; i<=9; i++) {
// for (j=1; j<=i; j++) {
// printf("%d*%d=%2d ",j,i,j*i);
// }
// printf("\n");
// }
// return 0;
//}
//求1~100内所有的素数
//int main(int argc,const char *argv[])
//{
// int i,j;
// for (i=1; i<=100; i++) {
// //判断i是否为素数
// for (j=2; j
// if (!(i%j)) {
// break;
// }
// }
// if (j!=i) {
// continue;
// }
// printf("%d ",i);
// }
// printf("\n");
//
// return 0;
//}
//多重循环练习
//字母金字塔
//输入:F
//\
//输出:
// F
// EFE
// DEFED
// CDEFEDC
// BCDEFEDCB
//ABCDEFEDCBA
int main(int argc,constchar *argv[])
{
char ch;
scanf("%c",&ch);
int i,j;
for (i=0; i
for (j=ch-'A'-i; j>0 ; j--)
{
printf(" ");
}
for (j=i; j>=0; j--) {
printf("%c",ch-j);
}
for (j=0; j
printf("%c", ch-1-j);
}
printf("\n");
}
return 0;
}
//9流程控制(数值序列2)输出数字序列2/1,3/2,5/3,8/5,13/8,21/13...,输出个数由键盘输入。注意输入使用scanf输入
//\
//比如:
//
//输入3输出为
//
//2/1
//3/2
//5/3
//
//输入 4 输出为
//2/1
//3/2
//5/3
//8/5
//int a=1,b=1;
//a=2,b=1
//a=3,b=2
//
//int main(int argc, const char * argv[])
//{
// int n;
// int a=1,b=1;
// scanf("%d", &n);
//
// for (int i=0; i
// printf("%d/%d ",a+b,a);
// int temp;
// temp = a;
// a=a+b;
// b=temp;
// }
// putchar('\n');
// return 0;
//}
//a=3 b=5
//a=5 b=3;
//temp = a;
//a=b;
//b=temp;
//不借助第三个变量交换两个变量的值
//int main(int argc, const char *argv[])
//{
// int a=3, b=5;
//
// a=a+b;//a=8;
// b=a-b;//b=3;
// a=a-b;//a=5;
// printf("a=%d b=%d\n",a, b);
// return 0;
//}
//10.流程控制(数值序列3)输出数字序列1,2,3,5,8,13,21...,输出个数由键盘输入。注意输入使用scanf输入
//\
//比如:
//\
//输入3输出为
//
//1
//2
//3
//
//输入 4 输出为
//1
//2
//3
//5
// a=1,b=0 1
// a=1,b=1 2
// a=2,b=1 3
// a=3,b=2 5
// a=5,b=3 8
//int main(int argc,const char *argv[])
//{
// int a=1,b=0;
// int n;
// scanf("%d",&n);
//
// for (int i=0; i
// printf("%d ", a+b);
// int temp;
// temp = a;
// a=a+b;
// b=temp;
// }
// putchar('\n');
// return 0;
//}
//12.流程控制(for求阶乘的和)输入n(int类型),打印1!+2!+3!+4!+5!+。。。+n!的值
//比如:
//
//输入:2
//输出:
//3
//
//输入:3
//
//输出:
//9
//6! = 6*5! = 6*5*4!;
//temp =1
//temp =2!=2*temp
//temp =3!=3*temp
//temp =4!=4*temp
//int main(int argc,const char *argv[])
//{
// int Sn=0;
// int n;
// int temp=1;
// scanf("%d",&n);
//
// for (int i=1; i<=n; i++)
// {
// temp=i*temp;
// Sn+=temp;
// }
// printf("Sn = %d\n", Sn);
//
// return 0;
//}
//19.流程控制(for循环)输入一个大写字母,如F
//\
//比如:
//\
//输入:F
//\
//输出:
//
// A
// ABA
// ABCBA
// ABCDCBA
// ABCDEDCBA
//ABCDEFEDCBA
//int main(int argc,const char *argv[])
//{
// char ch;
// scanf("%c", &ch);
//
// for (int i=0; i < ch-'A'+1; i++) {
// for (int j = ch-'A'-i; j>0; j--) {
// printf(" ");
// }
// for (int j=0; j<=i; j++) {
// printf("%c",'A'+j);
// }
// for (int j=i; j>0; j--) {
// printf("%c",'A'+j-1);
// }
// printf("\n");
// }
//
//
// return 0;
//}
//###20.流程控制(for循环)输入一个大写字母,如F,输出
//\
//比如:
//\
//输入:F
//\
//输出:
// F
// EFE
// DEFED
// CDEFEDC
// BCDEFEDCB
//ABCDEFEDCBA
//int main(int argc,const char *argv[])
//{
// char ch;
// scanf("%c", &ch);
//
// for (int i=0; i
// {
// for (int j=0; j
// {
// printf(" ");
// }
// for (int j=i; j>=0; j--) {
// printf("%c",ch-j);
// }
// for (int j=0; j
// printf("%c",ch-1-j);
// }
// printf("\n");
// }
// return 0;
//}
//21.流程控制(for循环)输入一个大写字符,如F
//\
//比如:
//
//输入:F
//
//输出:
//
//FEDCBA
// EDCBAB
// DCBABC
// CBABCD
// BABCDE
// ABCDEF
//int main(int argc, const char *argv[])
//{
// char ch;
// scanf("%c",&ch);
//
// for (int i=0; i
// for (int j=i; j>0; j--) {
// printf(" ");
// }
// for (int j=i; j
// printf("%c", ch-j);
// }
// for (int j=0; j
// printf("%c",'A'+1+j);
// }
// printf("\n");
// }
// return 0;
//}
//输入一个大写字母,如F
//比如:
//输入:F
//输出:
//A
//ABA
//ABCBA
//ABCDCBA
//ABCDEDCBA
//ABCDEFEDCBA
//
//输入:C
//输出:
//A
//ABA
//ABCBA
//int main(int argc,const char *argv[])
//{
// char ch;
// scanf("%c",&ch);
// for (int i=0; i
// for (int j=0; j<=i; j++) {
// printf("%c", 'A'+j);
// }
// for (int j=i; j>0; j--) {
// printf("%c",'A'+j-1);
// }
// printf("\n");
// }
// return 0;
//}
//输入年月日,判断是一年中的第多少天1.31 2.9
//int main(int argc,const char *argv[])
//{
// int year, month, day;
// int totalday=0;
// scanf("%d%d%d",&year, &month,&day);
// for (int i=1; i
// int temp;
// switch (i) {
// case 1:
// case 3:
// case 5:
// case 7:
// case 8:
// case 10:
// case 12:
// temp=31;
// break;
// case 4:
// case 6:
// case 9:
// case 11:
// temp=30;
// break;
// case 2:
// if ((year%4==0&&year%100!=0)|| (year%400==0)) {
// temp=29;
// }
// else
// temp=28;
// break;
// default:
// break;
// }
// totalday+=temp;
// }
// totalday+=day;
// printf("%d\n", totalday);
// return 0;
//}
//用辗转相除法求最大公约数
//
// 15 5
//
//a b
//319 377 --- 319
//a b
//377 319 --- 58
//a b
//319 58 --- 29
//a b
//58 29 --- 0
//a b
//29 0
// 300 480 300
// 480 300 180
// 300 180 120
// 180 120 60
// 120 60 0
// 60 0
//int main(int argc, const char *argv[])
//{
// int a, b;
// scanf("%d%d",&a,&b);
// while (b!=0) {
// int temp;
// temp = a%b;
// a=b;
// b=temp;
// }
// printf("最大公约数%d\n",a);
//
// return 0;
//}
//19.一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第
//10次落地时,共经过多少米?
//int main(int argc, const char *argv[])
//{
// float Sn=100;
// float s=100;
// for (int i=1; i<4; i++) {
// Sn+=s;
// s/=2;
// }
// printf("%.2f\n",Sn);
// return 0;
//}
//倒序输出两个大写字母之间的字母序列。注意输入使用scanf输入
//比如:
//输入 U Y
//输出为
//Y
//X
//W
//V
//U
//输入 V X 输出为
//X
//W
//V
//#include
//#include
//
//int main(int argc,const char *argv[])
//{
// char ch1,ch2;
// scanf("%c %c",&ch1,&ch2);
// for (int i=0; i< abs(ch1-ch2)+1; i++) {
// if (ch1>ch2) {
// printf("%c ",ch1-i);
// }
// else
// {
// printf("%c ",ch2-i);
// }
// }
// printf("\n");
//
// return 0;
//}
//将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
//10 = 2*5
//
// 10 2 --- 0
// 5 2 ----
// 5 3 ----
// 5 4 ---
// 5 5 == 0
//90 2 ---- 0
//45 2 ----
//45 3 ---- 0
//15 3 --- 0
//5 3 ---
//5 4 ---
//5 5 --- 0
//1
//int main(int argc, const char *argv[])
//{
// int n;
// scanf("%d",&n);
//
// printf("%d=",n);
// for (int i=2; n!=1; i++)
// {
// //加一个判断是否质数的条件
// if (n%i==0)
// {
// n==i?printf("%d",i):printf("%d*",i);
// n/=i;
// i--;
// }
// }
// printf("\n");
// return 0;
//}
//21.给定一个 5 位的整数,将该数按照 10进制位逆置,例如给定 12345变成 //54321,12320
//变成 2321。
//int main(int argc,const char *argv[])
//{
// int num;
// scanf("%d",&num);
// if (num<10000 || num >99999)
// {
// return -1;
// }
// while (num%10==0)
// {
// num/=10;
// }
// while (num)
// {
// int temp = num%10;
// printf("%d",temp);
// num/=10;
// }
// printf("\n");
// return 0;
//}
//输入一个自然数n,统计n!末尾有多少个0?
//5! 1 120 5*4*3*2*1
//10! 2 2*5*9*8*7*6*5*4*3*2*1
//15! 5 10 15 3
//25! 5 10 15 20 25 6
/*int main(int argc,const char *argv[])
{
int n;
int count=0;
scanf("%d", &n );
for (int i=n/5; i>0; )
{
// int temp=i;
// while (!(temp%5))
// {
// count++;
// temp/=5;
// }
count+=i;
i/=5;
}
printf("%d\n", count);
return 0;
}
*/
//编写程序,找到1000以内的所有”完数”,所谓完数是指一个数是其所有因子之和如: 6 = 1+2+3; 6 28 496
//int main(int argc, const char *argv[])
//{
// for (int i=1; i<=1000; i++) {
// int sum=0;
// for (int j=1; j
// if (i%j==0) {
// sum+=j;
// }
// }
// if (sum==i) {
// printf("%d ",i);
// }
// }
// printf("\n");
// return 0;
//}