坐电梯取砖石游戏
【描述】有一栋楼,共N层,有一座电梯可以从1楼上升到N楼,每层楼的门口都有一颗砖石,重量可能不一样。电梯在每层楼都会停一下。电梯又一个特别的按钮:到达第i层后,按下按钮,可以交换第i-1层和电梯第i层电梯口的砖石,i=2,3,4…N。从一楼出发,坐电梯到N层,要使得第N层楼的砖石最重,需要按多少次按钮?
【输入】输入占一行,首先是一个正整数N,2<=N<=20;然后是N个正整数,表示第1~N层楼梯电梯门口砖石重量,砖石的重量各个不相同。
【输出】输出求得的答案,即按按钮的次数
【样例输入】
8 49 38 65 97 76 13 27 30
【样例输出】
5
#include<bits/stdc++.h>usingnamespacestd;intmain(){inta[30],n;inti,t;//用来交换两个数的中间变量intcnt=0;//统计交换次数cin>>n;for(i=0;i<n;i++)cin>>a[i];//输入for(i=0;i<n-1;i++)//进行n-1次两辆比较if(a[i]>a[i+1])//比较的是前后两个数a[i]和a[i+1]{cnt++;t=a[i];a[i]=a[i+1];a[i+1]=t;}//如果逆序则交换cout<<cnt<<endl;return0;}/* 【输入用例2】 9 123 45 299 150 88 300 220 56 189 【输出用例2】 6 【输入用例3】 10 123 45 299 150 88 300 220 56 189 77 【输出用例3】 7 【输入用例4】 11 123 45 299 150 88 300 220 56 189 77 205 【输出用例4】 8 【输入用例5】 12 123 45 299 150 88 300 220 56 189 77 205 99 【输出用例5】 9 【输入用例6】 13 123 45 299 150 88 300 220 56 189 77 205 99 156 【输出用例6】 10 */字符串排序
【描述】输入n个字符串(假定不包含空格),按ASCII编码值从小到大排序,排序方法采用简单排序
【输入】输入数据的第一行为正整数n,2<=n<=100,接下来又n行,每行是一个字符串
【输出】输出占n行,为排序后的n个字符串,每个字符串占一行
【样例输入】
5
China
GERMANY
French
England
ENGLAND
【样例输出】
China
ENGLAND
England
French
GERMANY
#include<bits/stdc++.h>usingnamespacestd;intmain(){chars[110][80];//读入的n个字符串chart[80];//临时存放字符串intn,i,j;cin>>n;for(i=0;i<n;i++)cin>>s[i];for(i=0;i<n-1;i++)//简单选择法实现{intk=i;for(j=i+1;j<n;j++)if(strcmp(s[j],s[k])<0)k=j;if(k!=i){strcpy(t,s[k]);strcpy(s[k],s[i]);strcpy(s[i],t);}}for(i=0;i<n;i++)cout<<s[i]<<endl;return0;}/* 【输入用例2】 5 Python Java C Ruby Go 【输出用例2】 C Go Java Python Ruby 【输入用例3】 3 apple banana cherry 【输出用例3】 apple banana cherry 【输入用例4】 4 Dog cat bird Ant 【输出用例4】 Ant Dog bird cat */字符排序
【描述】输入一个字符串,假定字符串只包含大小写字母字符,对字符串中的字符按ASCII编码值从小到大排序,例如,输入的字符串为viSuaL,排序后为LSaiuv。
【输入】输入占一行,为一个只包含大小写的字母字符串,长度不超过100个字符。
【输出】输出排序后的字符串
【样例输入】
viSuaL
【样例输出】
LSaiuv
#include<bits/stdc++.h>usingnamespacestd;intmain(){chara[110];//存储输入的字符串inti,k,j,t;cin>>a;intn=strlen(a);for(i=0;i<n-1;i++)//共进行n-1趟选择及交换{k=i;//第i趟中最小的数初始为a[i]for(j=i+1;j<n;j++)//将a[i+1]~a[n-1]与a[k]比较{if(a[j]<a[k])k=j;}t=a[k];a[k]=a[i];a[i]=t;//交换a[k]与a[i]}cout<<a<<endl;return0;}/* 【输入用例2】 viSuaL 【输出用例2】 LSaiuv 【输入用例3】 HELLO 【输出用例3】 EHLLO 【输入用例4】 aaaaabbb 【输出用例4】 aaaaabbb 【输入用例5】 Ab1C 【输出用例5】 1ACb 【输入用例6】 ABCDE 【输出用例6】 ABCDE */