1 /*
2 1.求 1 到 m 间所有奇数的和
3 2.求两个数的最大公约数和最小公倍数
4 3。从键盘循环接收字符串,并统计字母,空格,数字及其他字符的个数,输入回车结束程
5 序。
6 4。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾就多吃了一个。
7 第二天早上又将剩下的桃子吃了一半,还是不过瘾又多吃了一个。以后每天都吃前一天剩下的一半再加一个。
8 到第 10 天刚好剩一个。问猴子第一天摘了多少个桃子?
9 5。打印 9*9 乘法表
10 6。请用 while 循环打印如下图案
11 1
12 2 3
13 4 5 6
14 7 8 9 10
15 11 12 13 14 15
16 7。小芳的妈妈每天给她 2.5 元,她都会存起来,但是每当这一天是存钱的第 5 天时或者 5 的倍数的话,
17 她都会花去 6 元钱。请问,经过多少天小芳才可以存到 100 元。
18 8.使用 while 循环,拼接两个字符串。
19
20 */
21
22 #include <stdio.h>
23
24 //1.求 1 到 m 间所有奇数的和
25 void jishusum(int m) {
26 int sum=0, i=0;
27 while (i < m) {
28 if (i % 2 != 0)
29 sum += i;
30 i++;
31 }
32 printf("sum=%d\n",sum);
33 }
34 //2.求两个数的最大公约数和最小公倍数
35 void gongbeishu() {
36
37 }
38 //从键盘循环接收字符串,并统计字母,空格,数字及其他字符的个数,输入回车结束程序。
39 void panduan() {
40 int zimu=0, shuzi=0, kongg=0, qita=0;
41 char c;
42 while ((c=getchar())!='\n') {
43 if (c >= 97 && c <= 122 || c >= 65 && c <= 90) {
44 zimu++;
45 }
46 else if (c >= 48 && c <= 57) {
47 shuzi++;
48 }
49 else if (c==32) {
50 kongg++;
51 }
52 else {
53 qita++;
54 }
55 }
56 printf("字母有:%d 数字有:%d 空格有:%d 其他:%d\n",zimu,shuzi,kongg,qita);
57 }
58 //猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾就多吃了一个。
59 //第二天早上又将剩下的桃子吃了一半,还是不过瘾又多吃了一个。以后每天都吃前一天剩下的一半再加一个。
60 //到第 10 天刚好剩一个。问猴子第一天摘了多少个桃子?
61 //x/2+1
62 void houzi() {
63 int num=1;
64 int i =1;
65 while (i<10) {
66 num =1+(num*2+1);
67 i++;
68 }
69 printf("%d",num);
70 }
71 //请用 while 循环打印如下图案
72 /*
73 1
74 2 3
75 4 5 6
76 7 8 9 10
77 11 12 13 14 15
78 */
79 void printshuzi() {
80 int i = 1, k = 3;
81 //printf("1\n");
82 while (i <= 15) {
83 if (i ==2 || i == 4 || i == 7||i==11 ) {
84 printf("\n");
85 }
86 printf("%d ",i);
87 i++;
88 }
89
90 }
91 //使用 while 循环,拼接两个字符串。
92 void pinjie() {
93 char s1[10] = {"woai"}, s2[10]="zhongguo", s[250];
94 int lens1 = sizeof(s1) / sizeof(char);
95 int lens2 = sizeof(s2) / sizeof(char);
96 //int lens1 = sizeof(s1) / sizeof(char);
97
98 int i = 0,k=0; //s=s1+s2
99 while (i < lens1) {
100 s[i] = s1[i];
101 if (s1[i] == '\0') {
102 while (k < lens2) {
103 s[i] = s2[k];
104 k++;
105 i++;
106 }
107 }
108 i++;
109 }
110 }
111 //打印 9*9 乘法表
112 void chengfa() {
113 int i=1, j;
114 while (i <= 9)
115 {
116 j = 1;
117 while (j<=i) {
118 printf("%d*%d=%d ",j,i,i*j);
119 j++;
120 }
121 printf("\n");
122 i++ ;
123 }
124 }
125 /*
126 小芳的妈妈每天给她 2.5 元,她都会存起来,但是每当这一天是存钱的第 5 天时或者 5 的倍数的话,
127 她都会花去 6 元钱。请问,经过多少天小芳才可以存到 100 元。
128 */
129 void cunqian() {
130 int money = 0;
131 int day=1;
132 while (money<=100) {
133 money = 2.5*day;
134 if (day >=5 && day % 5 == 0) {
135 money -= 6;
136 }
137 day++;
138 }
139 printf("存到100需要%d天",day);
140 }
141 int main() {
142 chengfa();
143 //cunqian();
144 //pinjie();
145 //printshuzi();
146 //houzi();
147 //panduan();
148 //jishusum(10);
149 system("pause");
150 return 0;
151 }