求编写一个C++程序代码,要求如下,谢谢!
求编写一个C++程序代码,要求如下,谢谢!(学号为十三位数字;空格不能算默认的结束符;字母大小写在输出结果中不分开算一起,如A和a,统计结果在输出前放在数组里(ASCLL...
求编写一个C++程序代码,要求如下,谢谢!(学号为十三位数字;空格不能算默认的结束符;字母大小写在输出结果中不分开算一起,如A和a,统计结果在输出前放在数组里(ASCLL码),急求,明天晚七点前要交,谢谢!)
展开
1个回答
展开全部
#include <iostream>
using namespace std;
int main()
{
unsigned long long sno;
cout << "输入学号:";
(cin >> sno).get(); //清掉回车键
cout << (char)(sno%26+'a') << endl;
string str;
cout << "输入一串英文:";
getline(cin, str);
int asc[28] = {0};
for(int i = 0; i < str.size(); ++i){
if( str[i]>='A' && str[i]<='Z' )
asc[str[i]-'A']++;
else if( str[i]>='a' && str[i]<='z' )
asc[str[i]-'a']++;
else if( str[i] == ' ' )
asc[26]++;
else if( str[i] == '.' )
asc[27]++;
}
for(int i = 0; i < 26; ++i){
cout << (char)('a'+i) << "/" << (char)('A'+i) << ": ";
cout << (double)asc[i]/(double)str.size()*100.0 << "%" << endl;
}
cout << "space: " << (double)asc[26]/(double)str.size()*100.0 << "%" << endl;
cout << ",: " << (double)asc[27]/(double)str.size()*100.0 << "%" << endl;
return 0;
}
更多追问追答
追问
那个,请问大佬,有调试过吗?毕竟我这两天很忙,晚上才有空上电脑去试一下😊
以及刚才上数据库的课的时候老师说学号定义不能用int来着(超范围了)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询