上机题及答案

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5 2 6 7 4 3 1
#include<>
int main(){
int m,n,i,j,k,p,q,a[100];
scanf("%d%d",&n,&m);
for(i=0;i<n;++i)
scanf("%d",&a[i]);
for(k=0,i=0;k<n;++k){
for(j=i,p=0,q=0;p<m;++p,++q){
描述
请写一个程序,判断给定表达式中的括号是否匹配。表达式中的合法括号为“(”、“)”、“[”、“]”、“{”、“}”,这三种括号可以按照任意的次序嵌套使用。
输入说明
有多个表达式,每个表达式占一行。当输入的表达式为空字符串(长度为0)时表示输入结束
输出说明
对每个表达式,若其中的括号是匹配的,则输出“yes”,否则输出“no”。
20字符串压缩
描述
有一种简单的字符串压缩算法,对于字符串中连续出现的同一个字符,用该字符加上连续出现的次数来表示(连续出现次数小于3时不压缩),例如,字符串aaaaabbbabaaaaaaaaaaaaabbbb可压缩为a5b3aba13b4。请设计一个程序,将采用该压缩方法得到的字符串解压缩,还原出原字符串并输出。
#include<>
int main(){
int a[200]={0},b,c,d=0,m,n,i,k,p,sum=0;
scanf("%d",&n);
for(m=0;m<n;++m){
scanf("%d",&b);
for(k=1,c=10;b/c>0;++k)c*=10;9f.,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。现在给定一个随机数m>0,从编号为1的人开始,按顺时针方向1开始顺序报数,报到m时停止。报m的人出圈,同时留下他的密码作为新的m值,从他在顺时针方向上的下一个人开始,重新从1开始报数,如此下去,直至所有的人全部出圈为止。
输入样例
[(d+f)*{}2]
[(2+3))
()}
[4(6]7)9
输出样例
yes
no
no
no
22电话费
描述
随着电话日益普及,人与人之间的信息交流更方便快捷。请你为电话公司编写一个电话计费程序,用户每月每次通话情况记录在文件""中,文件中每次通话数据记录在一行,格式如下:
拨入或拨出标记通话时长
1、拨入标记为"IN",表示外地用户呼叫本机,此时本机用户不需计费:拨出标记为"OUT",表示本机呼叫外地用户,此时本机拥护需要记费。拨入和拨出标记均为大写字母。
int i,j,c,n,m;
gets(a);
for(i=0;(c=a[i])!='\0';++i){
if(isalpha(c)){
m=a[i];++i;c=a[i];
if(isdigit(c)){
for(n=0;isdigit(c)&&c!='\0';c=a[i]){++i;n=10*n+(c-'0');}
2、通话时长以秒为单位,假定每次通话时间最短为1秒,最长不超过24小时。
通话计费规则为:
1、计算总时间为各次拨出通话时间总和,以3分钟为一个计算单位,不足3分钟的按3分钟计;
2、计费单价为每3分钟元。
计算并输出该用户本月电话费用M(单位:元,精确到分)。
输入说明
输入来自于文本文件"",文件中每一行为一条通话记录
scanf("%d %d",&m,&n);.3f.3f.2f.2f.6f
输入说明
输入包含多组数据,第一行为整数n表示有几组数据,其后为n行数据,每行一个整数。
输出说明
对每一个整数,若该整数为回文数,则输出整数各位数字之和,否则输出no,然后换行。
输入样例
2
131
24
输出样例
5
no
#include<>
输入说明
只有一组数据,数据为一个字符串(长度不大于50,只包含字母和数字)
输出说明
在一行上输出解压缩后的字符串(长度不超过100),最后换行。
输入样例
a5b3aba13b4
输出样例
Aaaaabbbabaaaaaaaaaaaaabbbb
#include<>
#include<>
int main(){
char a[50];
输出说明
输出总话费,以元为单位,精确到分,即保留两位小数
输入样例
OUT 362
IN 234
OUT 833
输出样例
#include <>
#include <>
#include <>
输入说明
输入两个整数,分别表示铁球与金球的直径(单位为毫米)
输出说明
输出两个浮点数,分别表示铁球与金球的质量(单位为克),小数点后保留3位小数,两个浮点数之间用空格分隔
输入样例
100 100
输出样例
提示
#include<>
int main(){
double Fe=,Au=,Pi=;
int m,n;
float M1,M2;
输入说明
仅有一组数据,输入数据第一行为两个正整数n(0<n<100)和m(0<m<),分别表示人的个数及初始随机数,第二行为n个整数Ai(0<Ai<,i=1..n),表示每个人持有的密码。
输出说明
在一行输出n个整数表示依次出圈人的编号,整数之间用空格分隔
输入样例
7 5
3 8 1 22 4 9 15
输出样例
1温度转换
描述
已知华氏温度到摄氏温度的转换公式为:摄氏温度= (华氏温度- 32)×5/9,写程序将给定的华氏温度转换为摄氏温度输出
输入说明
只有一个整数,表示输入的华氏温度
输出说明
输出一个表示摄氏温度的实数,小数点后保留2位有效数字,多余部分四舍五入
输入样例
50
输出样例
2计算球体重量
描述
已知铁的比重是,金的比重是。写一个程序,分别计算出给定直径的铁球与金球的质量,假定PI=
i=j+q;
if(i>n-1)i=i%n;
if(a[i]==0)--p;
}
m=a[i];
wk.baidu.coma[i]=0;
printf("%d%c",i+1,' ');
for(++i>n-1?i=i%n:i;k<n-1&&a[i]==0;++i>n-1?i=i%n:i);
}
printf("\n");
return 0;
}
if(n>=3)
for(j=0;j<n;++j)printf("%c",m );
else
printf("%c%c",m,a[i-1]);
--i;
}
else{
--i;
printf("%c",a[i]);}
}
else
printf("%c",a[i]);
}
printf("\n");
return 0;
}
21括号匹配
相关文档
最新文档