为什么第二次的菱形无法输出哪里错了
#include <stdio.h>int main() {
int i,j,k,x;
int t;//次数
char ch;//输入的字符
int n;//行数
scanf("%d",&t);
for(i=1; i<=t; i++) {
scanf("%c %d",&ch,&n);
for(j=1; j<=n; j++) { //上三角
for(k=1; k<=n-j; k++) {
printf(" ");
}
for(k=1; k<=2*j-1; k++) {
printf("%c",ch);
}
printf("\n");
}
for(j=n-1; j>=1; j--) { //下三角
for(k=n-j; k>=1; k--) {
printf(" ");
}
for(k=1; k<=2*j-1; k++) {
printf("%c",ch);
}
printf("\n");
}
}
return 0;
}
对输入输出的要求是什么? jackz007 发表于 2021-11-12 17:46
对输入输出的要求是什么?
输入的第一行是整数T(0<T<=100),表示测试数据的组数。每一组测试数据只有一行,分别为字符ch和整数n,两者之间有一个空格。该行没有其它多余的符号
对应每组输入,输出一个边长为n,由字符ch组成的菱形。 #include <stdio.h>
void foo(char ch , int n)
{
int b , i , j ;
for(i = 0 ; i < 2 * n ; i ++) {
b = (i > n) ? 2 * n - i : i ;
for(j = 0 ; j < n - b ; j ++) printf(" ") ;
for(j = 0 ; j < 2 * b - 1 ; j ++) printf("%c" , ch) ;
printf("\n") ;
}
}
int main(void)
{
int d , i , t ;
char c ;
scanf("%d" , & t) ;
for(i = 0 ; i < t ; i ++) {
fflush(stdin) ;
scanf("%c %d" , & c , & d) ;
}
for(i = 0 ; i < t ; i ++) foo(c , d) ;
}
编译、运行实况:
D:\0002.Exercise\C>x
5
* 3
+ 4
! 5
& 6
$ 7
*
***
*****
***
*
+
+++
+++++
+++++++
+++++
+++
+
!
!!!
!!!!!
!!!!!!!
!!!!!!!!!
!!!!!!!
!!!!!
!!!
!
&
&&&
&&&&&
&&&&&&&
&&&&&&&&&
&&&&&&&&&&&
&&&&&&&&&
&&&&&&&
&&&&&
&&&
&
$
$$$
$$$$$
$$$$$$$
$$$$$$$$$
$$$$$$$$$$$
$$$$$$$$$$$$$
$$$$$$$$$$$
$$$$$$$$$
$$$$$$$
$$$$$
$$$
$
D:\0002.Exercise\C> jackz007 发表于 2021-11-12 18:14
编译、运行实况:
可不可以·输入一组数据然后紧接着输出{:5_92:} 牵风 发表于 2021-11-12 18:44
可不可以·输入一组数据然后紧接着输出
#include <stdio.h>
void foo(char ch , int n)
{
int b , i , j ;
for(i = 0 ; i < 2 * n ; i ++) {
b = (i > n) ? 2 * n - i : i ;
for(j = 0 ; j < n - b ; j ++) printf(" ") ;
for(j = 0 ; j < 2 * b - 1 ; j ++) printf("%c" , ch) ;
printf("\n") ;
}
}
int main(void)
{
int d , i , t ;
char c ;
scanf("%d" , & t) ;
for(i = 0 ; i < t ; i ++) {
fflush(stdin) ;
if(scanf("%c %d" , & c , & d) > 1 && d > 2) foo(c , d) ;
else printf("输入无效!\n") ;
printf("\n") ;
}
}
编译、运行实况
D:\00.Excise\C>g++ -o x x.c
D:\00.Excise\C>x
5
* 8
*
***
*****
*******
*********
***********
*************
***************
*************
***********
*********
*******
*****
***
*
+ 9
+
+++
+++++
+++++++
+++++++++
+++++++++++
+++++++++++++
+++++++++++++++
+++++++++++++++++
+++++++++++++++
+++++++++++++
+++++++++++
+++++++++
+++++++
+++++
+++
+
# 10
#
###
#####
#######
#########
###########
#############
###############
#################
###################
#################
###############
#############
###########
#########
#######
#####
###
#
$ 11
$
$$$
$$$$$
$$$$$$$
$$$$$$$$$
$$$$$$$$$$$
$$$$$$$$$$$$$
$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$
$$$$$$$$$$$$$
$$$$$$$$$$$
$$$$$$$$$
$$$$$$$
$$$$$
$$$
$
@ 12
@
@@@
@@@@@
@@@@@@@
@@@@@@@@@
@@@@@@@@@@@
@@@@@@@@@@@@@
@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@
@@@@@@@@@@@@@
@@@@@@@@@@@
@@@@@@@@@
@@@@@@@
@@@@@
@@@
@
D:\00.Excise\C>
页:
[1]