编程题 c语言 求高手 解答并详细解释 谢谢
1,输入一系列字符,以“#”结束(“#”作为一个有效字符),分别统计其中英文字母、数字字符、其他字符的个数并输出统计结果?2,以每行5个的形式输出所有的3位数字的质数?谢...
1,输入一系列字符,以“#”结束(“#”作为一个有效字符),分别统计其中英文字母、数字字符、其他字符的个数并输出统计结果?
2,以每行5个的形式输出所有的3位数字的质数?
谢谢!! 展开
2,以每行5个的形式输出所有的3位数字的质数?
谢谢!! 展开
展开全部
第一个:
#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++变懒了, 有很多函数都不想手写
#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++变懒了, 有很多函数都不想手写
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询