机试初级题

来源:互联网 发布:java爬虫开源框架 编辑:程序博客网 时间:2024/05/11 15:00
题目描述:
    输入一个字符串,统计其出现频率最高的字符,并输出。若存在两个字符出现频率相同,则输出字典序较小的那一个
输入描述
    一个字符串,保证没有空格,以回车符结束,字符串长度<=20
输出描述
   一个字符
输入样例 :aabbaabb
输出样例 a
/*题目描述:输入一个字符串,统计其出现频率最高的字符,并输出。若存在两个字符出现频率相同,则输出字典序较小的那一个 输入描述 一个字符串,保证没有空格,以回车符结束,字符串长度<=20 输出描述    一个字符 输入样例 :aabbaabb 输出样例 a by phoebe 2014/8/31*/char count(string s){int max = 0;int i, j;int a[256] = {0};for(i = 0; i < s.size(); i++){a[int(s[i])]++;}for(i = 0; i < 256; i++){if(a[i] > max){max = a[i];j = i;}}cout<<char(j)<<endl;return char(j);}


题目描述
    输入一个数字,将其倒序输出,并输出其各个位上的乘积
输入描述
    一个正整数,保证在int范围内
输出描述
    两个数字,第一个数字为其倒序的值,第二个数字是各个位上的乘积
输入样例
    134
输出样例
    431
    12
void reverse_num(int n){int i;int N[100];long int s = 1;cout<<"倒序输出为:"<<endl;for(i = 0; n!= 0; i++){N[i] = n % 10;n /= 10;s *= N[i];cout<<N[i];}cout<<endl;cout<<"乘积为:"<<s;}

题目描述:
    输入10个数字,按各个位上的和从小到大排序,如果相同,则按数字从小到大排序。
输入描述
    10个正整数,保证都在int范围内,用空格隔开
输出描述
    10个数字,其从小到大的值,用空格隔开,最后一个数字后不加空格     
输入样例
    11 3 2 4 5 9 8 7 10 6
输出样例
    10 2 11 3 4 5 6 7 8 9
/*题目描述:输入10个数字,按各个位上的和从小到大排序,如果相同,则按数字从小到大排序。 输入描述 10个正整数,保证都在int范围内,用空格隔开 输出描述     10个数字,其从小到大的值,用空格隔开,最后一个数字后不加空格 输入样例     11 3 2 4 5 9 8 7 10 6 输出样例     10 2 11 3 4 5 6 7 8 9 by phoebe 2014/8/31*/void change(int &i, int &j){int temp;temp = i;i = j;j = temp;}void Sort_num(int a[10]){int i,j,temp;int b[10] = {0};int c[10];int d[10];for(i = 0; i < 10; i++){cin>>a[i];}for(i = 0; i < 10; i++){d[i] = a[i];for(j = 0; a[i] != 0; j++){c[j] = a[i] % 10;a[i] /= 10;b[i] += c[j];}}for(i = 1; i < 10; i++){if(b[i] < b[i - 1]){int s = b[i];temp = d[i];for(j = i - 1; j >= 0 && s < b[j]; --j){b[j+1] = b[j];d[j+1] = d[j];}b[j+1] = s;d[j+1] = temp;}}for(i = 0; i< 10; i++){cout<<d[i]<<"\t";}cout<<endl;}

题目描述
    你有一个容量为100的箩筐,给你30个物品,每个物品的体积已知,问:最多能装多少个物品进箩筐
输入描述
    一行30个正整数,用空格隔开,表示每个物品的体积
输出描述
    一个数字,为最多能装下的物品数
输入样例(此处用3个物品作为样例,实际读入为30个)
    5 59 100
输出样例
2
/*题目描述 你有一个容量为100的箩筐,给你30个物品,每个物品的体积已知,问:最多能装多少个物品进箩筐 输入描述 一行30个正整数,用空格隔开,表示每个物品的体积 输出描述     一个数字,为最多能装下的物品数 输入样例(此处用3个物品作为样例,实际读入为30个)     5 59 100 输出样例 2 by phoebe 2014/8/31*/void max_num(int a[],int sum){sum = 0;int i;    cout<<"plz inout the volume:"<<endl;for(i = 0; i < 30; i++){cin>>a[i];}sort(a,a+30);//加头文件algorithmfor(i = 0; i < 30; i++){if(sum < 100)sum += a[i];else{break;}}if(sum <= 100)cout<<i<<endl;elsecout<<i-1<<endl;}


描述:10个学生考完期末考试评卷完成后,A老师需要划出及格线,要求如下:
     (1) 及格线是10的倍数;
     (2) 保证至少有60%的学生及格;
     (3) 如果所有的学生都高于60分,则及格线为60分
     (4) 及格线越高越好,但最高不能超过60   
输入:输入10个整数,取值0~100
输出:输出及格线,10的倍数
输入样例:61 51 49 30 20 10 70 80 90 99
输出样例:50

/*描述:10个学生考完期末考试评卷完成后,A老师需要划出及格线,要求如下:      (1) 及格线是10的倍数;      (2) 保证至少有60%的学生及格;      (3) 如果所有的学生都高于60分,则及格线为60分      (4) 及格线越高越好,但最高不能超过60   输入:输入10个整数,取值0~100 输出:输出及格线,10的倍数 输入样例:61 51 49 30 20 10 70 80 90 99 输出样例:50 by phoebe 2014/08/31*/void pass_line(int a[]){int i;int passLine;for(i = 0; i < 10; i++){cin>>a[i];}sort(a,a+10);if(a[4] >= 60){cout<<60<<endl;}else {passLine = a[4]/10 * 10;cout<<passLine<<endl;}}void pass_line1(int a[]) //不调用sort函数的方法{int i;int passLine;for(i = 0; i < 10; i++){cin>>a[i];}for(passLine = 60; passLine >= 0; passLine -= 10){int num = 0;//统计人数{for(i = 0; i < 10; ++i){if(a[i] >= passLine)num++;if(num == 6){cout<<passLine;break;}}}if(num >= 6)break;}}


欢迎各位贴出其他方法的代码,上述代码如有错误,欢迎批评指正!


0 0
原创粉丝点击