数组应用_羊群问题” 设计》 cs.stu20119 int maino [double sheep[10], max=0 int i, maxNum; for(i=0;i<10;++){ cout<“请输入第”<<i<“只羊的重量”; cin > sheep[; for(i=0;i<10;++i) if (sheep[i]max)i max sheep[ maxNum =i; 1 cout<“最重的羊是第”<< maxNum<“只”< end: cout<<“它的重量是”<<max<<endl; return 0: 程序设计-11
《程序设计》 cs.sjtu 2011.9 程序设计 - 11 数组应用—羊群问题 int main() {double sheep[10], max=0; int i, maxNum; for (i=0; i<10; ++i) { cout << “请输入第” << i <<“只羊的重量”; cin >> sheep[i];} for (i=0; i<10; ++i) if (sheep[i]>max) { max = sheep[i]; maxNum = i; } cout << “最重的羊是第” << maxNum << “只”<< endl; cout << “它的重量是” << max << endl; return 0; }
《程序设计》cs.u20119 使羊群问题的程序更通用 冷方案一:可以将羊的个数定义成一个符 号常量。需要时,可以修改这个符号常 量的值 方案二:定义一个足够大的数组存放羊 群的信息,定义一个输入结束标志,用 whiley循环解决这个问题。可参照分数统 计程序 程序设计12
《程序设计》 cs.sjtu 2011.9 程序设计 - 12 使羊群问题的程序更通用 ❖ 方案一:可以将羊的个数定义成一个符 号常量。需要时,可以修改这个符号常 量的值 ❖ 方案二:定义一个足够大的数组存放羊 群的信息,定义一个输入结束标志,用 while循环解决这个问题。可参照分数统 计程序
《程序设计》cs.u20119 方案 #define num 1o int maino Double sheepnuml, max=0 int i, maxNum; for(i=0; K<NUM; ++i) cout<<“请输入第”<i<“只羊的重量 cin > sheep; for(i=0; K<NUM; ++i) if(sheep?max)( max=sheep maxNum=i; cout<<“最重的羊是第”< maxNun<“只”<<endl cout<<“它的重量是”<<max<<endl; return o 程序设计13
《程序设计》 cs.sjtu 2011.9 程序设计 - 13 方案一 #define NUM 10 int main() {double sheep[NUM], max=0; int i, maxNum; for (i=0; i<NUM; ++i) { cout << “请输入第” << i <<“只羊的重量”; cin >> sheep[i];} for (i=0; i<NUM; ++i) if (sheep[i]>max) { max = sheep[i]; maxNum = i; } cout << “最重的羊是第” << maxNum << “只”<< endl; cout << “它的重量是” << max << endl; return 0; }
数组应用 《程序设计》cs.u20119 冷从终端输入一串字符,统计字符串中个字母出现的 次数。 冷解决方法 >方法一:用26个整型变量计数26个字母,对输入字符串中 的每一字符用swch语句分别计数。 >方法二:用一个26个元素的数组,如mm[26,表示计数 num0存放a的个数,num存放b的个数..。这样对每一 个字符不必用 switch,而只需用一个简单的计算: ++num toupper(ch)-A; 就可以了。 程序设计14
《程序设计》 cs.sjtu 2011.9 程序设计 - 14 数组应用 ❖ 从终端输入一串字符,统计字符串中个字母出现的 次数。 ❖ 解决方法: ➢ 方法一:用26个整型变量计数26个字母,对输入字符串中 的每一字符用switch语句分别计数。 ➢ 方法二:用一个26个元素的数组,如num[26], 表示计数。 num[0]存放a的个数, num[1]存放b的个数…。这样对每一 个字符不必用switch,而只需用一个简单的计算: ++num[toupper(ch) - ’A’]; 就可以了
B 3#include <iostream> 《程序设计》cs.u20119 P#include <ctype. h> using namespace std; int maino I int count[26]=[], i; char ch. ch= toupper(cin geto while(ch>=A&& ch<=Z) [++count[ch-A]; ch= toupper( cin geto);1 for(i=0; i< 26; ++i cout < count[<<It return o 程序设计15
《程序设计》 cs.sjtu 2011.9 程序设计 - 15 #include <iostream> #include <ctype.h> using namespace std; int main() { int count[26] = {0}, i; char ch; ch = toupper(cin.get()); while (ch>='A' && ch <='Z') {++count[ch-'A']; ch = toupper( cin.get()); } for (i=0; i< 26; ++i) cout << count[i] << '\t'; return 0; }