3.输入一个数 n ( n <10),按照下面格式打印输出菱形数字阵输出如下
可以通过嵌套循环以及条件判断来实现按照指定格式打印输出菱形数字阵列。下面是一个示例代码,假设输入的数为 n=5:
public class DiamondPattern {
public static void main(String[] args) {
int n = 5; // 用户输入的数
for (int i = 1; i <= n; i++) { // 上半部分
for (int j = 1; j <= n - i; j++) {
System.out.print(" ");
}
for (int k = 1; k <= 2 * i - 1; k++) {
System.out.print(i);
}
System.out.println();
}
for (int i = n - 1; i > 0; i--) { // 下半部分
for (int j = 1; j <= n - i; j++) {
System.out.print(" ");
}
for (int k = 1; k <= 2 * i - 1; k++) {
System.out.print(i);
}
System.out.println();
}
}
}
输入输出示例:括号内为说明,无需输入输出
输入样例:
3 (n=3)
Programming in C
21.5
Programming in VB
18.5
Programming in Delphi
20
输出样例:`
Programming in VB 18.5
Programming in Delphi 20.0
Programming in C 21.5
答案:
#include <stdio.h>
struct book {
char name[50];
float price;
}books[10],temp; //temp作为一个临时结构变量
int main() {
int n, i, p;
scanf("%d", &n);
getchar();
for (i = 0; i < n; i++) {
gets(books[i].name);
scanf("%f", &books[i].price);
getchar();
}//赋值给结构变量
for (int i = 0; i < n - 1; i++)
{
p = i;
for (int j = i; j < n; j++)
if (books[p].price > books[j].price)
p = j;
temp = books[p];
books[p] = books[i];
books[i] = temp;
}//选择法排序
for (i = 0; i < n; i++) {
printf("%s %.1f", books[i].name, books[i].price);
printf("\n");
}
return 0;
}
n是啥行 吗