0:
#include <stdio.h>
int main()
{
char ch;
int a = 0;
int i = 0;
int e = 0;
int o = 0;
int u = 0;
printf("请输入一个英文句子:");
while((ch = getchar()) != '\n'){
switch (ch)
{
case 'a':
case 'A':
a++;
break;
case 'e':
case 'E':
e++;
break;
case 'i':
case 'I':
i++;
break;
case 'o':
case 'O':
o++;
break;
case 'u':
case 'U':
u++;
break;
default:
break;
}
}
printf("您输入的句子中,包含元音字母%d个\n",a+o+u+i+e);
printf("其中:a(%d),e(%d),i(%d),o(%d),u(%d)\n",a,e,i,o,u);
}
1:
#include <stdio.h>
int main()
{
int i,num;
int count = 0;
for( i = 2; i <= 10000; i++){ // 找质数
for(num = 2; num < i; num++){ // 判断是否能被整除
if(i % num == 0){ // 判断是否能被i整除,如果能被整除,就跳出循环
break;
}
}
if( i == num){ // 如果不能被i整除,而且i和num相等,证明是质数
count = count + 1;
continue;
}
}
printf("一共有%d个素数!\n",count);
}
2:
#include <stdio.h>
#include <math.h>
/*
求 m 是否为素数,m 不必被 2 ~ m/2 之间的每一个整数去除
只需被 2 ~ 之间的每一个整数去除就可以了。
如果 m 不能被 2 ~ 间任一整数整除,
那么 m 必定是素数。
*/
int main()
{
int m, j;
printf("请输入一个数:");
scanf("%d",&m);
j = (int)sqrt(m);
for(int n = 2; n < j;n++){
if(m % n != 0){
printf("%d是素数\n",m);
break;
}
}
// printf("%d不是素数\n",m);
return 0;
}
3:
#include <stdio.h>
int main()
{
int ch;
printf("请输入明文:");
while ((ch = getchar()) != '\n')
{
if (ch >= 'a' && ch <= 'z')
{
putchar('a' + (ch - 'a' + 3) % 26); // %是取余,实现动态的改变字符
/*
(ch - 'a' + 3) 就是获取 ch 偏移 3 位后是第几个字母(从 0 算起),
例如假设 ch 为 'y'(121),那么 ('y' - 'a'(97) + 3)
== (24 + 3) == 27。由于没有第 27+1=28 个字母,
所以需要对这个结果对 26 进行取余,27 % 26 == 1,
再加上 'a' 就是将这个数字转为字母。
*/
continue;
}
if (ch >= 'A' && ch <= 'Z')
{
putchar('A' + (ch - 'A' + 3) % 26);
continue;
}
putchar(ch);
}
putchar('\n');
return 0;
}