4 循环结构
1 #include <stdio.h> 2 #include <math.h> 3 /* 4 功能:输出中间数为n的棱形图形 5 时间:2016.11.15 6 */ 7 void main() 8 { 9 int n; 10 int i; 11 int j; 12 int k; 13 int h; 14 scanf_s("%d",&n); 15 for(i=-n+1;i<=n-1;i++) 16 { 17 for(j=0;j<abs(i);j++)//整数绝对值 18 printf(" "); 19 for(k=1;k<n-abs(i);k++) 20 { 21 printf("%d",k); 22 23 } 24 for(h=n-abs(i)-1;h>=1;h--) 25 { 26 printf("%d",h); 27 28 }printf("\n"); 29 } 30 system("pause"); 31 }
1 #include <stdio.h> 2 #include <math.h> 3 /* 4 功能:求2-200之间的素数 5 时间:2016.11.15 6 */ 7 8 void main() 9 { 10 int i ; 11 int j = 0; 12 int m = 0;//存开根的值 13 for(i=2;i<=200;i++)//在此处在一个断点查看过程 14 { 15 m = sqrt(i);//开平方根 缩小比较范围 16 for(j=2;j<=m;j++) 17 { 18 if((i%j)==0)break;//不是质数直接退出此次循环 19 } 20 if(j>m)//这里呢 比如i=5 m=2 j=2的时候i%j=1 j++=3跳出循环 此时j就大于m了输出来 21 { 22 printf("%d\n",i); 23 } 24 } 25 system("pause"); 26 }
1 #include <stdio.h> 2 3 /* 4 功能:求单词的个数 5 时间:2016.11.15 6 */ 7 //求单词的个数 8 void main() 9 { 10 int i; 11 int num = 0;//计数 记得初始化 12 char ch; 13 int word = 0; 14 for(i=0;(ch=getchar())!='\n';i++)//这里会有括号 15 { 16 if(ch==' ') 17 { 18 word = 0;//这里为什么会有两个word=0 也就是只要遇到空格我就赋值为0 19 //但是 num变量保持该加就加;假设开始输入的前面都是空格 20 //此时word=0成立 一旦遇到不是空格了而且word=0, word=1继续计数 21 }else if(word==0) 22 { 23 word = 1; 24 num++; 25 } 26 } 27 printf("单词个数为%d",num); 28 system("pause"); 29 }
1 #include <stdio.h> 2 3 /* 4 功能:大小写转化 5 时间:2016.11.15 6 */ 7 void main7() 8 { 9 char c; 10 while((c=getchar())!='\n') 11 { 12 if(c>='A'&&c<='Z') 13 { 14 c = c + 32;//大写转小写加上32 15 16 } 17 putchar(c); 18 } 19 system("pause"); 20 }
1 #include <stdio.h> 2 3 /* 4 功能:求最大公约数既能整除m又能整除n 5 时间:2016.11.15 6 */ 7 8 void main6() 9 { 10 long r,m,n,temp; 11 scanf("%ld,%ld",&m,&n);//6,2 12 while(m!=0) 13 { 14 r = n % m;//r=2, r=0 15 n = m;//n=6 n =2 16 m = r;//m =2 m= 0 17 } 18 printf("%ld\n",n);//2 19 system("pause"); 20 }
1 #include <stdio.h> 2 3 /* 4 功能:累加一行字符中的数字,测试代码abc123 输出6 5 时间:2016.11.15 6 */ 7 8 void main5() 9 { 10 char c; 11 int s=0,a; 12 while((c=getchar())!='\n') 13 { 14 if(c>='0'&&c<='9') 15 { 16 a = c - 48;//因为'0'编码为48 '9'编码是57 17 s = s + a; 18 } 19 } 20 printf("%d",s); 21 22 system("pause"); 23 }
1 #include <stdio.h> 2 3 //有序数列1 3 5 。。 4 void main() 5 { 6 int i; 7 int t = 0; 8 int sum = 1; 9 int n; 10 scanf("%d",&n);//输入n 代表几项和 11 for(i=1;i<n;i++) 12 { 13 sum = sum + t; 14 t = t + 2; 15 } 16 printf("1+3+..+%d=%d",n,sum); 17 18 system("pause"); 19 }
1 1 #include <stdio.h> 2 2 3 3 /* 4 4 功能:递归等两种实现阶乘。 5 5 时间:2016.11.15 6 6 */ 7 7 //递归实现 8 8 int digui(int n) 9 9 { 10 10 if(n==1) 11 11 { 12 12 return 1; 13 13 }else 14 14 { 15 15 return n*digui(n-1); 16 16 } 17 17 } 18 18 19 19 //循环实现 20 20 int forG(int n) 21 21 { 22 22 23 23 int i,a=1; 24 24 //int sum =0; 25 25 for(i = 1;i<=n;i++) 26 26 { 27 27 a = a *i; 28 28 //sum = sum + a; 29 29 } 30 30 return a; 31 31 32 32 33 33 34 34 } 35 35 void main() 36 36 { 37 37 int sum = 0; 38 38 int a = 0 ; 39 39 printf("小伙子想算多少的阶乘呢\n"); 40 40 scanf("%d",&sum); 41 41 //a = digui(sum); 42 42 a = forG(sum); 43 43 44 44 45 45 printf("结果为%d",a); 46 46 47 47 system("pause"); 48 48 }
循环课本上就这些了。。。。 没有截图时间有限 好好加油罗