1165 杨辉三角形
时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)
提交数 : 15451 | 通过数 : 7798
题目描述
杨辉三角的历史悠久,是我国古代数学家杨辉揭示二项展开式各项的系数的数字三角形。
从键盘输入一个整数n,输出如下所示的n行的杨辉三角形。下图是n为5时的杨辉三角形。
输入要求
输入一个整数n。(1<=n<=15)。
输出要求
输出n行的杨辉三角形。
输入样例
5
输出样例
1 1 1 1 2 1 1 3 3 1 1 4 6 4 1
提示
每一个数据的后面都有空格。
杨辉三角构造规则:每行首尾是1,其他每个数字等于上一行上方及左上方的两个数字之和。
来源
NBU OJ
代码:
#include<stdio.h> //C
int main(){
int n,i,j,a[100][100];
scanf("%d",&n);
for(i=0;i<n;i++){
for(j=0;j<=i;j++){
if(j==0||j==i) a[i][j]=1;
else a[i][j]=a[i-1][j-1]+a[i-1][j];
printf("%d ",a[i][j]);
}
printf("\n");
}
return 0;
}
1166 稀疏字母金字塔(1)
时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)
提交数 : 14275 | 通过数 : 6462
题目描述
从键盘输入一个整数n,输出n行的字母金字塔。如下图所示的是一个n为6的字母金字塔。
输入要求
输入一个整数n。
输出要求
输出n行的字母金字塔。
输入样例
6
输出样例
A B B C C C D D D D E E E E E F F F F F F
提示
每个字符后面都有空格
来源
NBU OJ
代码:
#include<stdio.h> //C
int main(){
int n,i,j,k;
char c=65;
scanf("%d",&n);
for(i=1;i<=n;i++){
for(j=0;j<n-i;j++)
printf(" ");
for(k=0;k<i;k++)
printf("%c ",c);
c++;
printf("\n");
}
return 0;
}
1167 susan的货币兑换
时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)
提交数 : 12744 | 通过数 : 5294
题目描述
Susan到中国观光旅游,她不太熟悉人民币,因此分别将1角,2角,5角,1元,2元,5元,10元,20元,50元,100元的人民币依次排序号(从1开始排序号),她每天将自己手中不同面值人民币的张数输入iPAD,以计算手头的人民币数额。请你帮她编写一个程序,可以根据她手中的不同面值人民币的张数,计算出对应的人民币数额。
输入要求
输入人民币序号及张数。每种面值占据一行。如5 20表示序号为5的人民币有20张。当输入序号或张数为负数时结束。
输出要求
输出对应的人民币数值。保留2位小数。
输入样例
5 20 8 40 10 10 -1 0
输出样例
1840.00
提示
来源
NBU OJ
代码:
#include<stdio.h> //C
int main(){
int a,b;
double rmb[11]={0,0.1,0.2,0.5,1,2,5,10,20,50,100},s=0;
while(~scanf("%d%d",&a,&b)){
if(a<0||b<0) break;
s+=rmb[a]*b;
}
printf("%.2f\n",s);
return 0;
}
1168 查找学生信息
时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)
提交数 : 9424 | 通过数 : 4122
题目描述
先录入n个学生信息,包括学生的学号和期末考试总成绩。再给定某学生学号,查找是否有该学生的相应信息。
输入要求
第一行输入一个整数n(n<100),表示有n个学生; 后面n行输入这n个学生的信息,内容分别为学号和分数;接下来一行输入所要查询的学生学号。
输出要求
输出该学号学生的成绩,如无匹配学号,则输出“No found!”。(输出不包含引号)
输入样例
4 084110 100 084111 98 084112 97 084113 99 084111
输出样例
98
提示
来源
NBU OJ
代码:
#include<stdio.h> //C
int main(){
int n,a[100][2],key,i,j,set=1;
scanf("%d",&n);
for(i=0;i<n;i++)
for(j=0;j<2;j++)
scanf("%d",&a[i][j]);
scanf("%d",&key);
for(i=0;i<n;i++){
if(a[i][0]==key) printf("%d\n",a[i][1]),set=0;
}
if(set) printf("No found!\n");
return 0;
}
1169 二维数组行列互换
时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)
提交数 : 13371 | 通过数 : 7173
题目描述
将一个二维数组的行和列元素互换,存放到另一个二维数组中。
输入要求
第一行输入两个整数m和n分别表示二维数组的行数和列数(均不超过20)。
下一行输入该二维数组的各个元素值。
输出要求
输出行列变换后的数组。
输入样例
3 4 1 2 5 3 5 3 4 2 0 6 9 1
输出样例
1 5 0 2 3 6 5 4 9 3 2 1
提示
每个数据的后面都有空格。数组长度不超过20。
来源
NBU OJ
代码:
#include<stdio.h> //C
int main(){
int m,n,a[20][20],i,j;
scanf("%d%d",&m,&n);
for(i=0;i<m;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
for(i=0;i<n;i++){
for(j=0;j<m;j++){
printf("%d ",a[j][i]);
}
printf("\n");
}
return 0;
}
1170 N个数据排序
时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)
提交数 : 15131 | 通过数 : 7350
题目描述
给定n个整数,设计函数按从小到大的顺序排序。
输入要求
第一行输入一个正整数n ,第二行输入这n个整数。
输出要求
输出n个整数排序后的结果(从小到大排序)。
输入样例
8 8 2 125 31 0 10 -1 2
输出样例
-1 0 2 2 8 10 31 125
模板
#include <stdio.h> @-@ //设计排序函数 int main() { int x[1000]; int i,n,j,m,t; scanf("%d",&n); for(i=0;i<n;i++) scanf("%d",&x[i]); mysort(x,n); //调用排序函数 for(i=0;i<n-1;i++) printf("%d ",x[i]); printf("%d\n",x[n-1]); return 0; }
提示
最后一个数据的后面没有空格,直接换行。数组长度最大可定义到1000。
来源
NBU OJ
代码:
#include<stdio.h> //C
void mysort(int x[1000],int n){//设计排序函数
int i,j,t;
for(i=0;i<n-1;i++){
for(j=0;j<n-1-i;j++){
if(x[j]>x[j+1]) t=x[j],x[j]=x[j+1],x[j+1]=t;
}
}
}
int main(){
int x[1000];
int i,n,j,m,t;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&x[i]);
mysort(x,n);//调用排序函数
for(i=0;i<n-1;i++)
printf("%d ",x[i]);
printf("%d\n",x[n-1]);
return 0;
}