1220 火车行李托运费
时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)
提交数 : 4204 | 通过数 : 2967
题目描述
假设乘坐火车托运行李时按下列式子收费:
y= 0 (0<=x<=20)
y= (x-20)*2 (20<x<=40)
y=(x-40)*5+40 (x>40)
式子中的x为行李的重量,y为应交的费用。请编写程序计算应交金额y(元)。
输入要求
输入行李的重量x(整数)。
输出要求
输出应交的金额。
输入样例
40
输出样例
40
提示
来源
NBU OJ
#include<stdio.h> //C
int main(){
int x,y=0;
scanf("%d",&x);
if(x<=20) y=0;
if(x<=40) y=(x-20)*2;
else y=(x-40)*5+40;
printf("%d\n",y);
return 0;
}
1221 画等腰三角形
时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)
提交数 : 5008 | 通过数 : 2947
题目描述
在运用C语言开发程序时,有时为了程序运行界面的美观,需要在屏幕上用字符构成一些特殊的图案用以装饰。请设计一个C程序,在屏幕上打印一个由符号‘*’组成的等腰三角形。下图是n为5的一个等腰三角形。
输入要求
输入一个整数n。
输出要求
在屏幕上打印由*组成的层高为n的等腰三角形。每行都没有后缀的空格。
输入样例
5
输出样例
*
***
*****
*******
*********
提示
来源
NBU OJ
#include<stdio.h> //C 法1
int main(){
int n,i,j,k;
scanf("%d",&n);
for(i=1;i<=n;i++){
for(j=0;j<n-i;j++) printf(" ");
for(k=0;k<2*i-1;k++) printf("*");
printf("\n");
}
return 0;
}
#include<stdio.h> //C 法2
int main(){
int n,i,j;
scanf("%d",&n);
for(i=0;i<n;i++){
for(j=0;j<n-1-i;j++) printf(" ");
for(j=0;j<2*i+1;j++) printf("*");
printf("\n");
}
return 0;
}
#include<stdio.h> //C 法3
int main(){
int n,i,j,k;
i=j=k=1;
scanf("%d",&n);
for(k=1;k<=n;k++){
for(i=k;i<=n-1;i++) printf(" ");
for(j=1;j<=2*k-1;j++) printf("*");
printf("\n");
}
return 0;
}
1222 表示成两个数的平方和
时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)
提交数 : 10005 | 通过数 : 5194
题目描述
输入一个正整数N,找出所有满足X^2+Y^2=N的正整数对X和Y。
输入要求
输入一个正整数N。
输出要求
输出这两个正整数X和Y,满足X^2+Y^2=N,输出时要求X<=Y。如果无解则不需要输出任何信息。
输入样例
50
输出样例
1 7
5 5
提示
当有多组输出时,按照X从小到大的顺序排列。
来源
NBU OJ
#include<stdio.h> //C
#include<math.h>
int main(){
int n,i,j;
scanf("%d",&n);
for(i=1;i<=sqrt(n/2);i++){
for(j=i;j<=sqrt(n-1);j++){
if(i*i+j*j==n) printf("%d %d\n",i,j);
}
}
return 0;
}
1224 哥德巴赫猜想(2)
时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)
提交数 : 3679 | 通过数 : 1424
题目描述
所谓哥德巴赫猜想,就是指任何一个大于2的偶数,都可以写成两个素数的和。现在输入一个偶数,要求寻找两个素数,使其和等于该偶数。由于可能有多组素数对满足条件,所以本题要求输出两数差最小的那两个素数。
输入要求
输入一个偶整数M,M大于2。
输出要求
对于每个偶数,输出两个彼此最接近的素数,并且其和等于该偶数。(输出时两个素数小的在前,大的在后)。
输入样例
20
输出样例
7 13
提示
来源
NBU OJ
#include<stdio.h> //C
#include<math.h>
int su(int x){//判断素数
int i;
for(i=2;i<=sqrt(x);i++){
if(x%i==0) return 0;
}
return 1;
}
int main(){
int n,i;
scanf("%d",&n);
for(i=n/2;i>=1;i--){
if(su(i)&&su(n-i)){
printf("%d %d\n",i,n-i);
break;
}
}
return 0;
}
1225 计算献血量
时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)
提交数 : 4804 | 通过数 : 2950
题目描述
志愿者献血:根据献血者性别和体重判断合适的献血量。对于男性,体重70公斤(含)以上,献血250ml,70公斤以下200ml。对于女性,体重60公斤(含)以上,献血180ml,60公斤以下150ml。请根据输入的体重和性别,输出合适的献血量。
输入要求
输入一个整数代表体重,一个字母代表性别。其中用大写字母M代表男性,大写字母F代表女性。小写字母无效。
输出要求
输出合适的献血量(单位默认为ml)。
输入样例
80M
输出样例
250
提示
单组输入、单组输出。
注意:输入时,字符和数字之间不需要空格
来源
NBU OJ
#include<stdio.h> //C
int main(){
int a,y=180;
char s;
scanf("%d%c",&a,&s);
if(s=='M'){
if(a<70) y=200;
else y=250;
}
else{if(a<60) y=150;}
printf("%d\n",y);
return 0;
}
1226 绘制字符正方形(简易版)
时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)
提交数 : 5191 | 通过数 : 3245
题目描述
绘制字符正方形,输入正方形边长n和一个填充字符,绘制出一个正方形图案。
输入要求
输入正方形边长n和填充字符(填充字符不会出现数字)。如,输入 4*, 表示需要输出4行4列的由符号*组成的图案。
输出要求
输出由填充字符组成的边长为n的正方形。
输入样例
4*
输出样例
****
****
****
****
提示
来源
NBU OJ
#include<stdio.h> //C
int main(){
int n,i,j;
char a;
scanf("%d%c",&n,&a);
for(i=0;i<n;i++){
for(j=0;j<n;j++) printf("%c",a);
printf("\n");
}
return 0;
}
1227 数字和为5的整数
时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)
提交数 : 3504 | 通过数 : 2597
题目描述
求三位数[k1,k2]之间所有数字之和为5的整数。
输入要求
输入两个正整数k1和k2,k1和k2都是三位数。K2>K1。
输出要求
求[k1,k2]之间所有数字之和为5的整数。输出所有符合条件的数,每个数占1行。
输入样例
100 200
输出样例
104
113
122
131
140
提示
来源
NBU OJ
#include<stdio.h> //C
int main(){
int k1,k2,i,a,b,c;
scanf("%d%d",&k1,&k2);
for(i=k1;i<=k2;i++){
a=i/100;
b=i/10%10;
c=i%10;
if(a+b+c==5) printf("%d\n",i);
}
return 0;
}
1228 三天打鱼两天晒网(1)
时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)
提交数 : 6714 | 通过数 : 3160
题目描述
中国有句俗语叫“三天打鱼两天晒网”。某人从2011年1月1日开始“三天打鱼两天晒网”,问题:输入2011年的任一日期,判断此人在打鱼(fishing)还是在晒网(sleeping)。
输入要求
输入两个正整数a和b,表示2011年的a月b日。如输入9 5表示2011年的9月5日。(假设输入数据都是合法的)
输出要求
如在打鱼,则输出fishing,如在晒网,则输出sleeping。
输入样例
9 5
输出样例
fishing
提示
来源
NBU OJ
#include<stdio.h> //C
int main(){
int m,d,i,s=0;
int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
scanf("%d%d",&m,&d);
for(i=1;i<m;i++) s+=a[i];
s+=d;
if(s%5<=3&&s%5) printf("fishing\n");
else printf("sleeping\n");//if(s%5==0||s%5==4)
return 0;
}
1229 奇数的平方
时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)
提交数 : 4062 | 通过数 : 1765
题目描述
打印自然数[1,n]中奇数的平方。
输入要求
输入一个正整数n。
输出要求
打印自然数[1,n]中奇数的平方。每行输出10个数据。
输入样例
40
输出样例
1 9 25 49 81 121 169 225 289 361 441 529 625 729 841 961 1089 1225 1369 1521
提示
每个数据后面都跟一个空格作为间隔符。
来源
NBU OJ
#include<stdio.h> //C
int main(){
int n,i,j,d=0;
scanf("%d",&n);
for(i=1;i<=n;i+=2){
printf("%d ",i*i),d++;
if(d%10==0) printf("\n");
}
return 0;
}