内容发布更新时间 : 2025/1/15 17:26:44星期一 下面是文章的全部内容请认真阅读。
for(;;) Problem D: 打印金字塔
Time Limit: 1 Sec Memory Limit: 64 MB
Submit: 6187 Solved: 3736
Description
请编写程序输出双层金字塔图形。
Input
多个测试数据。每个测试数据输入一个整数n(1 <= n <= 9)
Output
输出n层双层金字塔。
Sample Input
1 3 Sample Output
* * *** ***** *** * HINT
用双重循环做,外循环代表行数,第一个内循环输出空格,第二个内循环输出* for(;;) {
for(;;) {
}//输出空格
{
}//输出*
}//外循环
#include
int n,i,j,k;
while (scanf(\ {
for (i=1;i<=n;i++) {
for (j=1;j<=n-i;j++) //注意j的范围 printf(\
for (k=1;k<2*i;k++) //注意k的范围 printf(\ printf(\ }
for (i=n+1;i<=2*n-1;i++) {
for (j=1;j<=i-n;j++) //注意j的范围 printf(\
for (k=1;k<2*(2*n-i);k++) //注意k的范围 printf(\ printf(\ }
} }
Problem C: 新年挂灯笼
Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 933 Solved: 459
Description
又是新的一年,家家户户挂灯笼。请你编写一个程序,能根据需要打印出灯笼的图案。
Input
- 1 -
多组测试数据,先输入一个整数T,表示组数,然后输入然后输入t行,每行输入1个整数n(n不会大于9),代表灯笼上半部分的层数
Output
对于每组测试数据输出对应的灯笼图案
Sample Input
3 1 2 3 Sample Output
* ** **** ** *** ***** ******* ***** *** #include
int T,m,n,i,j,k; scanf(\
for(m=1;m<=T;m++){ while (scanf(\ {
for (i=1;i<=n;i++) {
for (j=1;j<=n-i;j++) //注意j的范围 printf(\
for (k=1;k<2*i+n-1;k++) //注意k的范围 printf(\ printf(\
}
for (i=n+1;i<=2*n-1;i++) {
for (j=1;j<=i-n;j++) //注意j的范围 printf(\
for (k=1;k<2*(2*n-i)+n-1;k++) //注意k的范围 printf(\ printf(\ }
break; } } }
Problem A: 零起点学算法80——逆序输出(数组练习)
Time Limit: 1 Sec Memory Limit: 64 MB
Submit: 8884 Solved: 3256
Description
数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组数组类型说明 在C语言中使用数组必须先进行类型说明。 数组说明的一般形式为: 类型说明符 数组名 [常量表达式],……; 其中,类型说明符是任一种基本数据类型或构造数据类型。 数组名是用户定义的数组标识符。 方括号中的常量表达式表示数据元素的个数,也称为数组的长度。例 int a[10]; 说明整型数组a,有10个元素。 float b[10],c[20]; 说明实型数组b,有10个元素,实型数组c,有20个元素。 char ch[20]; 说明字符数组ch,有20个元素。
Input
多组测试数据。第一行输入一个整数T表示测试数据组数每组首先输入1个整数n,然后输入n个整数(不大于20)
Output
对于每组测试数据按照输入相反的顺序输出n个数据
Sample Input
- 2 -
2 3 1 2 3 5 2 3 1 4 5 Description
找出数组中最大的元素的下标。
Input
多组测试,每组先输入一个不大于10的整数n 然后是n个整数
Sample Output
3 2 1 5 4 1 3 2 Output
输出这n个整数中最大的元素及下标值
Sample Input
4 1 4 5 6
#include
int T,n,k,i,j,a[20]; scanf(\ for(k=1;k<=T;k++) {
while(scanf(\ {
for(i=0;i scanf(\ } for(j=n-1;j>0;j--) { printf(\ } printf(\break; } } } Sample Output 6 3 Problem B: 零起点学算法81——找出数组中最大元素的位置(下标值) Time Limit: 1 Sec Memory Limit: 64 MB Submit: 8840 Solved: 3524 #include int n,k,i,a[9],ans; while(scanf(\ { scanf(\ ans=a[0]; k=0; for(i=1;i scanf(\ if(ans printf(\} - 3 -