编程题 c语言 求高手 解答并详细解释 谢谢

1,输入一系列字符,以“#”结束(“#”作为一个有效字符),分别统计其中英文字母、数字字符、其他字符的个数并输出统计结果?2,以每行5个的形式输出所有的3位数字的质数?谢... 1,输入一系列字符,以“#”结束(“#”作为一个有效字符),分别统计其中英文字母、数字字符、其他字符的个数并输出统计结果?
2,以每行5个的形式输出所有的3位数字的质数?
谢谢!!
展开
 我来答
Be_the_top
2010-12-16 · 超过25用户采纳过TA的回答
知道答主
回答量:72
采纳率:0%
帮助的人:62.5万
展开全部
第一个:
#include <iostream>
using namespace std;
int cnt[3];
char s[10000];
int main() {
memset(cnt, 0, sizeof(cnt));
cin.getline(s, '#');
int i;
int len = strlen(s);
for (i=0; i<len; i++) {
if (s[i] >= 'a' && s[i] <= 'z' || s[i] >= 'A' && s[i] <= 'Z') cnt[0]++;
else if (s[i] >= '0' && s[i] <= '9') cnt[1]++;
else cnt[2]++;
}
cout << "字母的数量为:" << cnt[0] << endl;
cout << "数字的数量为:" << cnt[1] << endl;
cout << "其他字符的数量为:" << cnt[2];
return 0;
}

第二个
#include <stdio.h>
#include <math.h>

int isprime(int n) {
int i;
int len = sqrt(n*1.0);
for (i=2; i<=len; i++) if (n%i == 0) break;
if (i == len+1) return 1;
else return 0;
}

int main() {
int i;
int cnt = 0;
for (i=101; i<999; i++) {
if (isprime(i) == 1) {
cnt++;
if (cnt % 5 == 0) printf("%d\n", i);
else printf("%d ", i);
}
}
return 0;
}

第一个编写的时候没看到是c++, 第二个就是纯的c
从c++改到c的, 用习惯了c++变懒了, 有很多函数都不想手写
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式