c/c++练习–10

来源:互联网 发布:算法导论 中文版 pdf 编辑:程序博客网 时间:2024/05/01 11:02

c/c++练习–10


  • 习题来源:C语言经典编程282例

91.计算字符串中有多少个单词

输入一行字符,然后统计其中有多少个单词,要求每个单词之间用空格分隔开,最后的字符不能为空格。

#include <iostream>using namespace std;    int main(void){        char        ch='a';    bool    flag(false);    int     n(0);    while(ch !=EOF){         ch=cin.get();         if(isalpha(ch)){             flag=true;             continue;         }         if (flag || ~isalpha(ch)) {             n++;             flag = false;         }    }    cout<<"单词数为:"<<n<<endl;    return(0);}

92.逆序存放数据

#include <iostream>using namespace std;    int main(void){        int num[5]={0};    for(int i=4;i>=0;i--)        cin>>num[i];    for(int i=0;i<5;i++)        cout<<num[i]<<endl;    return(0);}

93.相邻元素之和

从键盘中任意输入10个整数存放到数组中,求数组中相邻两元素的和,并将这些和存放在数组b中,按每行3个元素的形式输出。

#include <iostream>using namespace std;    int main(void){        int num[10]={0},n[9]={0};    for(int i=0;i<10;i++)        cin>>num[i];    for(int i=0;i<9;i++)        n[i] = num[i]+num[i+1];    cout<<"原来的数据为:"<<endl;    for(int i=0;i<10;i++)        cout<<num[i]<<endl;    cout<<"相邻之和为:"<<endl;    for(int i=0;i<3;i++){        for(int j=0;j<3;j++)            cout<<n[i*3+j]<<'\t';        cout<<endl;    }    return(0);}

94.选票统计

班级竞选班长,共有3个候选人,输入参加选举的人数及每个人选举的内容,输出三个候选问最终的得票数以及无效选票数。

#include <iostream>using namespace std;    int main(void){        int num,p,n1=0,n2(0),n3(0),n(0);    cout<<"请输入投票人数:"<<endl;    cin>>num;    for(int i=0;i<num;i++){        cin>>p;        if(p==1) {            n1++;            continue;        }        if(p==2)    {            n2++;            continue;        }        if(p==3){            n3++;            continue;        }        n++;    }     cout<<"1号得票:"<<n1<<endl;     cout<<"2号得票:"<<n2<<endl;     cout<<"3号得票:"<<n3<<endl;     cout<<"4号得票:"<<n<<endl;    return(0);}

95.使用数组统计学生成绩

输入学生的学号及语文,数学,英语成绩,输出学生各科成绩及平均成绩

#include <iostream>using namespace std;    int main(void){        int     n(0),num[10]={0};    float   chn[10]={0},math[10]={0},eng[10]={0},avg[10]={0};    cout<<"请输入学生数量:";    cin>>n;    for(int i=0;i<n;i++){        cin>>num[i]>>chn[i]>>math[i]>>eng[i];        avg[i] = (chn[i]+math[i]+eng[i])/3;    }    cout<<"学号\t语文\t数学\t英语\t平均"<<endl;    for(int i=0;i<n;i++)        cout<<num[i]<<'\t'<<chn[i]<<'\t'<<math[i]<<'\t'<<eng[i]<<'\t'<<avg[i]<<'\t'<<endl;    cout<<"单词数为:"<<n<<endl;    return(0);}

96.查找数组中的最值

#include <iostream>using namespace std;    int main(void){        int num[10];           cout<<"Please input 10 num:"<<endl;    for(int i=0;i<10;i++)        cin>>num[i];    int m=num[0],mi=num[0];    for(int i=1;i<10;i++) {        m = m>num[i]?m:num[i];        mi = mi<num[i]?mi:num[i];    }    cout<<"the max num is "<<m<<endl;    cout<<"the min num is"<<mi<<endl;    return(0);}

97.判断一个数是否存在数组中

#include <iostream>using namespace std;    int main(void){        int num[10]={1,2,3,4,5,6,7,8,9,0},n;           cout<<"Please input your num:"<<endl;    cin>>n;    for(int i=0;i<10;i++){        if(num[i]==n) {            cout<<"YES"<<endl;            exit(0);        }               }      cout<<"N0"<<endl;    return(0);}

98.求二维数组对角线之和

#include <iostream>using namespace std;    int main(void){        int num[3][3]={1,2,3,4,5,6,7,8,9},sum(0);          for(int i=0;i<3;i++){        sum += num[i][i];               }    cout<<sum<<endl;    return(0);}

99.模拟比赛打分

从键盘中输入选手人数,然后输入裁判对每位选手的打分情况,这里假设裁判有5位,在输入完以上内容后,输出每位选手的总成绩

#include <iostream>using namespace std;    int main(void){        int     n(0);    float   num[10][6]={0};         cout<<"Enter the number of the players:"<<endl;     cin>>n;     for(int i=0;i<n;i++) {         cout<<"Player "<<i+1<<endl;         cin>>num[i][0]>>num[i][1]>>num[i][2]>>num[i][3]>>num[i][4];         num[i][5] =(num[i][0]+num[i][1]+num[i][2]+num[i][3]+num[i][4]) ;     }     cout<<"Player\tJudgeA\tJudgeB\tJudgeC\tJudgeD\tJudgeE\tSores"<<endl;    for(int i=0;i<4;i++)        cout<<i+1<<'\t'<<num[i][0]<<'\t'<<num[i][1]<<'\t'<<num[i][2]<<'\t'<<num[i][3]<<'\t'<<num[i][4]<<'\t'<<num[i][5]<<endl;;             return(0);}

100.矩阵的转置

将一个二维数组的行和列元素互换,存到另一个二维数组中

#include <iostream>using namespace std;    int main(void){        int     m(0),n(0);    float   a[10][10]={0},b[10][10]={0};       cout<<"Enter the number of the row:"<<endl;    cin>>m;    cout<<"Enter the number of the columns:"<<endl;    cin>>n;    for(int i=0;i<m;i++)        for(int j=0;j<n;j++)             cin>>a[i][j];\    cout<<"Array a:"<<endl;    for(int i=0;i<m;i++){        for(int j=0;j<n;j++){            cout<<a[i][j]<<'\t';            b[j][i] = a[i][j];        }        cout<<endl;    }           cout<<"Array b:"<<endl;    for(int i=0;i<n;i++){        for(int j=0;j<m;j++)            cout<<b[i][j]<<'\t';        cout<<endl;        }    return(0);}
0 0
原创粉丝点击