if(a[j]>a[j+1]){
inttemp;
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
}}
}
returna;
delete[]a;
}
第一章9/13
6-9逆序字符串(10分)
设计一个void类型的函数reverse_string,其功能是将一个给定的字符串逆序。
例如,给定字符串为“hello”,
逆序后为“olleh”。
函数接口定义如下:
/*函数原型参见main函数*/
裁判测试程序样例:
#include
#include
usingnamespacestd;
/*你的代码将嵌在这里*/
intmain(intargc,charconst*argv[])
{
stringstr;
getline(cin,str);//输入字符串
reverse_string(str);//逆序字符串str
cout<return0;
}
输入样例:
hello
输出样例:
olleh
voidreverse_string(string&str){
intn;
chart;
n=str.length();
for(inti=0;it=str[i];
str[i]=str[n-1-i];
str[n-1-i]=t;
}
}
7-1时间换算(10分)
输入一个正整数repeat(0输入一个时间数值,再输入秒数n,输出该时间再过n秒后的时间值,时间的表示形式为时:
分:
秒,超过24时
从0时重新开始计时。
输出格式:
printf("time:
%d:
%d:
%d\n",);
输入输出示例:
括号内为说明,无需输入输出
输入样例:
3(repeat=3)
第一章10/13
0:
0:
1
59(秒数n=59)
11:
59:
40
30(秒数n=30)
23:
59:
40
301(秒数n=301)
输出样例:
time:
0:
1:
0(0:
0:
01加上59秒的新时间)
time:
12:
0:
10(11:
59:
40加上30秒的新时间)
time:
0:
4:
41(23:
59:
40加上301秒的新时间)
#include
usingnamespacestd;
structTime
{
inthour;
intminute;
intsecond;
};
voidtimeCompute(Time&t,intsec)
{
inth,m,s;
inta;
s=t.second+sec;
a=s/60;//分钟的进位
t.second=s%60;//进位后剩余的秒数
m=t.minute+a;
a=m/60;
t.minute=m%60;
h=t.hour+a;
t.hour=h%24;
}
intmain()
{
intrepeat,sec;
cin>>repeat;
Timet;
for(inti=1;i<=repeat;i++)
{
scanf("%d:
%d:
%d",&t.hour,&t.minute,&t.second);
cin>>sec;
timeCompute(t,sec);
printf("time:
%d:
%d:
%d\n",t.hour,t.minute,t.second);
}
}
第一章11/13
7-2查找单价最高和最低的书籍(10分)
编写程序,从键盘输入n(n<10)本书的名称和定价并存入结构数组中,查找并输出其中定价最高和最低的书的名
称和定价。
输出格式语句:
printf("highestprice:
%.1f,%s\n",);
printf("lowestprice:
%.1f,%s\n",);
输入输出示例:
括号内为说明,无需输入输出
输入样例:
3(n=3)
ProgramminginC
3.3334
ProgramminginVB
8.90
ProgramminginDelphi
25
输出样例:
highestprice:
25.0,ProgramminginDelphi
lowestprice:
18.5,ProgramminginVB
#include
#include
usingnamespacestd;
structBOOK{
charname[20];
doubleprice;
}BOOK;
intmain(){
inti,n,j,k,max=0,min=0;
scanf("%d",&n);
structBOOKa[n];
for(i=0;iscanf("%s\n",a[i].name);
scanf("%lf",&a[i].price);
}
for(j=0;jif(a[j].price>a[max].price)
max=j;
}
for(k=0;kif(a[k].pricemin=k;
}
printf("highestprice:
%.1f,%s\n",a[max].price,a[max].name);
printf("lowestprice:
%.1f,%s\n",a[min].price,a[min].name);
return0;
}