1.读写输入,读到#停止,然后报告读到的 空格 、换行、其他字符数量。

#include<stdio.h>
int main()
{
char ch = 0;
int space = 0;
int line_change = 0;
int other = 0;
printf("输入一串字符,#结束\n");
while ((ch = getchar()) != '#')
{
if (ch == ' ')
space++;
else if (ch == '\n')
line_change++;
else
other++;
}
printf("空格:%d个, 换行:%d个 其他字符:%d个 ", space, line_change, other);
getchar(); getchar();
return 0;
}

2.读写输入,读到#停止。 然后打印字符 及其对应的ASCII码(8个一行)

#include<stdio.h>
int main()
{
char ch = 0;
int i = 0;
printf("输入一串字符,#结束\n");
while ((ch = getchar()) != '#')
{

printf("%c:%d ", ch, ch);
i++;
if (i % 8 == 0)
printf("\n");
}

getchar(); getchar();
return 0;
}

 

3.读取整数直至0.报告偶数的个数,平均值,奇数的个数,平均值。

#include<stdio.h>
int main()
{

int num;
int o = 0;
int sum_o = 0;
int j = 0;
int sum_j = 0;
while (scanf_s("%d", &num) && num != 0)
{
if (num % 2 == 0)
{
o++;
sum_o += num;
}
else
{
j++;
sum_j += num;
}
}
printf("偶数共%d个,平均值%lf\n", o, 1.0*sum_o / o);
printf("奇数共%d个,平均值%lf\n", j, 1.0*sum_j / j);
getchar(); getchar();
return 0;
}

 4.读取直至#,用!替代。 !! 替代! 

然后报告替代的次数。

#include<stdio.h>
int main()
{
char ch;
int i = 0, j = 0;

while ((ch = getchar()) != '#')
{
if (ch == '.')
{
putchar('!');
i++;
}
else if (ch == '!')
{
putchar('!');
putchar('!');
j++;
}
else
putchar(ch);
}

printf("\n.替换成!:%d次",i);
printf("\n!替换成!!:%d次",j);
getchar(); getchar();
return 0;
}

5. 使用switch 改写4. 略。

6.读取输入直到#,报告ei出现的次数

#include<stdio.h>
int main()
{
char ch1 = 0, ch2=0;
int time_ei = 0;
ch1 = getchar();
while (ch1 != '#')
{
ch2 = ch1;
ch1 = getchar();
if (ch1 == 'i')
{
if (ch2 == 'e')
time_ei++;
}
}

printf("ei出现了%d次", time_ei);
getchar(); getchar();
return 0;
}

7,8 略

9.输入正整数,显示小于等于它的素数。

#include<stdio.h>
#include<math.h>
int judge_prime(int n)
{
int i;
double k;
k = sqrt(n);
for (i = 2; i <= k; i++)
{
if (n%i == 0) break;
}
if (i <= k)
return 0;
else
return 1;
}
int main()
{

int num;
while (scanf_s("%d", &num) && num > 0)
{
printf("<= %d的素数有:", num);
for (int i = 2; i <= num; i++)
if (judge_prime(i))
printf("%d ", i);
printf("\n");
}
getchar(); getchar();
return 0;
}

 

10、11略