1200 正数的平均值
时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)
提交数 : 12835 | 通过数 : 5969
题目描述
输入10个实数,计算并输出所有大于0的数的平均值。
输入要求
输入10个实数。
输出要求
计算大于0的数的平均值。
输入样例
-5 2 -6 9 -4 -2 0 6 1 10
输出样例
5.60
模板
#include<stdio.h> #define N 10 @-@ //设计函数实现求平均 int main() { double a[N],res; int i; for(i=0;i<N;i++) { scanf("%lf",&a[i]); } res=ave(a,N); //调用函数求大于0的数的平均值 printf("%.2f\n",res); return 0; }
提示
输出精确到小数点后2位。
来源
NBU OJ
#include<stdio.h> //C
#define N 10
double ave(double a[N],int n){
int i,d=0;
double s=0;
for(i=0;i<n;i++){
if(a[i]>0) s+=a[i],d++;
}
return s/d;
}
//设计函数实现求平均
int main(){
double a[N],res;
int i;
for(i=0;i<N;i++){
scanf("%lf",&a[i]);
}
res=ave(a,N); //调用函数求大于0的数的平均值
printf("%.2f\n",res);
return 0;
}
1201 输出最短字符串
时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)
提交数 : 12597 | 通过数 : 5980
题目描述
输入五个字符串,输出其中最短的字符串。若长度相同则输出出现较早的那一个。
输入要求
输入五个字符串
输出要求
输出其中最短的字符串。
输入样例
Hee Fi Fdhi Ai Fdis
输出样例
Fi
提示
数组长度开到1000
来源
NBU OJ
#include<stdio.h> //C
#include<string.h>
int main(){
char s1[1000],s2[1000],s3[1000],s4[1000],s5[1000],s6[1000];
int len=0;
gets(s1);
gets(s2);
gets(s3);
gets(s4);
gets(s5);
strcpy(s6,s1);
if(strlen(s2)<strlen(s6)) strcpy(s6,s2);
if(strlen(s3)<strlen(s6)) strcpy(s6,s3);
if(strlen(s4)<strlen(s6)) strcpy(s6,s4);
if(strlen(s5)<strlen(s6)) strcpy(s6,s5);
puts(s6);
return 0;
}
1202 字符查找
时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)
提交数 : 8425 | 通过数 : 4542
题目描述
在一个字符串中查找指定的一个字符,并输出指定的字符在字符串中出现的次数及位置。
输入要求
第一行输入一个字符串,第二行输入要查找的字符。
输出要求
第一行输出该字符在字符串中出现过的次数n, 后面n行依次输出该字符曾出现过的地方(出现位置按日常计数习惯从1开始标记)
输入样例
maybeyesmaybleno m
输出样例
2 1 9
提示
来源
NBU OJ
#include<stdio.h> //C
#include<string.h>
int main(){
char a[1000],key;
int i,d=0,id[100],k=0;
gets(a);
scanf("%c",&key);
for(i=0;a[i]!='\0';i++){
if(a[i]==key) d++,id[k++]=i+1;
}
printf("%d\n",d);
for(i=0;i<d;i++) printf("%d\n",id[i]);
return 0;
}
1203 字符删除操作(1)
时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)
提交数 : 7516 | 通过数 : 4137
题目描述
删除字符串指定位置上的字符,输出删除后的结果。
输入要求
输入一个字符串,并输入要删除的字符在该数组中的位置(非下标)。
输出要求
输出改编后的字符串
输入样例
Hello123 7
输出样例
Hello13
提示
来源
NBU OJ
#include<stdio.h> //C
#include<string.h>
int main(){
char a[1000];
int i,n;
gets(a);
scanf("%d",&n);
for(i=0;a[i]!='\0';i++){
if(i!=n-1) printf("%c",a[i]);
}
printf("\n");
return 0;
}
1204 字符删除操作(2)
时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)
提交数 : 8619 | 通过数 : 3069
题目描述
删除字符串指定位置字符后的m个字符(包括指定位置的字符)。
输入要求
第一行输入两个整型数n和m,分别代表字符串的第n个字符(非下标)和要删除m个字符。
第二行输入要处理的原始字符串。
输出要求
输出处理后的字符串。
输入样例
7 6 I love movie
输出样例
I love
提示
来源
NBU OJ
#include<stdio.h> //C
#include<string.h>
int main(){
int n,m,i;
char a[1000];
scanf("%d%d\n",&n,&m);//注意 \n
gets(a);
for(i=0;i<strlen(a);i++){
if(i<n-1||i>n+m-2) printf("%c",a[i]);
}
printf("\n");
return 0;
}
1205 梯形面积
时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)
提交数 : 12567 | 通过数 : 7280
题目描述
已知梯形上底和下底分别为x和y,高为h,求梯形面积。
输入要求
输入x、y和h。(双精度类型)
输出要求
输出梯形面积(保留2位小数)
输入样例
10 20 5
输出样例
75.00
提示
来源
NBU OJ
#include<stdio.h> //C
int main(){
double x,y,h;
scanf("%lf%lf%lf",&x,&y,&h);
printf("%.2f\n",(x+y)*h/2);
return 0;
}
1206 水费问题
时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)
提交数 : 6938 | 通过数 : 4315
题目描述
为了加强居民的节水意识,某地区制定了以下生活用水收费标准:每户每月用水未超过7吨时,每吨收费1.0元,并加收0.2元每吨的城市污水处理费;用水若超过7吨(含7吨),则每吨收费1.5元,并加收0.4元每吨的城市污水处理费。输入用水量并计算应交水费。(注:非分段计费)
输入要求
用水量。(采用浮点类型)
输出要求
应交水费。(保留2位小数)
输入样例
7
输出样例
13.30
提示
来源
NBU OJ
#include<stdio.h> //C
int main(){
double x,y=0;
scanf("%lf",&x);
if(x<7) y=1.2*x;
else y=1.9*x;
printf("%.2f\n",y);
return 0;
}
1207 读了几页书
时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)
提交数 : 3809 | 通过数 : 2863
题目描述
小玲读课外书,第一天读了x页,以后每天要比前一天多读m页,小玲共读了n天,问小玲共读了多少页?
输入要求
输入x、m和n。
输出要求
输出小玲n天共读了多少页
输入样例
12 6 7
输出样例
210
提示
来源
NBU OJ
#include<stdio.h> //C
int main(){
int x,m,n,i,s;
scanf("%d%d%d",&x,&m,&n);
s=x;
for(i=1;i<n;i++){
x+=m;
s+=x;
}
printf("%d\n",s);
return 0;
}
1208 简单算术运算
时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)
提交数 : 7696 | 通过数 : 2952
题目描述
输入一个数学表达式,输出运算结果。如输入为3^3,则输出结果27.00;如输入为7*8,则输出结果为56.00。(运算符号局限于+、-、*、/、^ 五种,其余输出“Error”)
输入要求
输入形式为a+( -、*、/、^ )b,即一个数字、一个运算符号、再一个数字。如3+8。采用双精度类型
输出要求
输出运算结果,如11.00。保留2位小数
输入样例
3+8
输出样例
11.00
提示
来源
NBU OJ
#include<stdio.h> //C 法1
#include<math.h>
int main(){
double a,b,s=0;
char c;
scanf("%lf%c%lf",&a,&c,&b);
if(c=='+') printf("%.2f",a+b);
else if(c=='-') printf("%.2f",a-b);
else if(c=='*') printf("%.2f",a*b);
else if(c=='/') printf("%.2f",a/b);
else if(c=='^') printf("%.2f",pow(a,b));
else printf("Error");
printf("\n");
return 0;
}
#include<stdio.h> //C 法2
#include<math.h>
int main(){
double a,b;
char c;
scanf("%lf%c%lf",&a,&c,&b);
switch(c){
case'+':printf("%.2f",a+b);break;
case'-':printf("%.2f",a-b);break;
case'*':printf("%.2f",a*b);break;
case'/':printf("%.2f",a/b);break;
case'^':printf("%.2f",pow(a,b));break;
default:printf("Error");
}
printf("\n");
return 0;
}
1209 幂之和
时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)
提交数 : 7919 | 通过数 : 3737
题目描述
给定一个n 位整数 (n≥3 ),判断它的每个位上的数字的 n 次幂之和是否等于它本身。
例如:3位数153(此时n=3),1^3 + 5^3 + 3^3=153
4位数8208(此时n=4),8^4+2^4+0^4+8^4=8208
输入要求
键盘输入一个整数x
输出要求
若x符合条件则输出“Yes”,否则输出“No”。输出不包含双引号。
输入样例
92727
输出样例
Yes
提示
来源
NBU OJ
#include<stdio.h> //C 法1
#include<math.h>
int main(){
int x,s=0,n=0,b,t,i;
scanf("%d",&x);
b=x;
while(b){
b/=10;
n++;//n->x的位数
}
t=x;
for(i=0;i<n;i++){
s+=pow(t%10,n);// x的每个位上的数字的 n次幂之和
t/=10;
}
//判断它的每个位上的数字的 n次幂之和是否等于它本身
if(s==x) printf("Yes\n");
else printf("No\n");
return 0;
}
#include<stdio.h> //C 法2
#include<math.h>
int main(){
int x,i,a[100],n,s=0,t;
scanf("%d",&x);
t=x;
for(i=0;x>0;i++){
a[i]=x%10;//储存 x的每个位上的数字
x/=10;
}
n=i;//位数
for(i=0;i<n;i++) s+=pow(a[i],n);// x的每个位上的数字的 n次幂之和
//判断它的每个位上的数字的 n次幂之和是否等于它本身
if(s==t) printf("Yes\n");
else printf("No\n");
return 0;
}