怎么样可以把输出的字母放在同一行而不是一列
写了一个可以用*来输出任意字母图形的代码,但是输出的字母只能在同一列,想知道怎么才能让字母在同一行输出 本帖最后由 huafajihe 于 2019-4-20 11:39 编辑好像上传不了图片 只要去掉 printf() 输出序列中的回车符 '\n' 就可以了。
#include <stdio.h>
int main(void)
{
int i ;
for(i = 0 ; i < 10 ; i ++) printf("*") ;
printf("\n") ;
} jackz007 发表于 2019-4-20 11:43
只要去掉 printf() 输出序列中的回车符 '\n' 就可以了。
我有一部分代码是这样的,如果把\n去掉的话,图形输出就乱了
#include <stdio.h>
int main ()
{
printf("请随意输入几个大写字母:");
int i=1;
char a;
do{
scanf("%c",&a);
if(a=='A'){
switch(i){
case 1:printf(" *\n");
case 2:printf(" * *\n");
case 3:printf("*****\n");
case 4:printf(" * *\n");
case 5:printf("* *\n");break;
}
}
if(a=='B'){
switch(i){
case 1:printf("*****\n");
case 2:printf("* *\n");
case 3:printf("*****\n");
case 4:printf("* *\n");
case 5:printf("*****\n");break;
}
} 本帖最后由 jackz007 于 2019-4-20 14:03 编辑
huafajihe 发表于 2019-4-20 12:29
我有一部分代码是这样的,如果把\n去掉的话,图形输出就乱了
#include
楼主,你到底想要什么效果?就以你的代码为例,键盘输入什么字符组合,想得到什么图案,直接用 '*' 图案来描述。 本帖最后由 Croper 于 2019-4-20 14:16 编辑
你要的大概是这种效果吧,
不过你的代码得大改,
需要使用一个字符串记录输入的文字,
另外注意一下空格和回车的位置
#include <stdio.h>
int main (){
printf("请随意输入几个大写字母:");
char sz;
scanf("%s",sz);
int i,j;
for (i=1;i<6;++i){
for (j=0;sz!='\0';++j){
char a=sz;
if(a=='A'){
switch(i){
case 1:printf(" * ");break;
case 2:printf(" * * ");break;
case 3:printf("***** ");break;
case 4:printf(" * *");break;
case 5:printf("* * ");break;
}
}
if(a=='B'){
switch(i){
case 1:printf(" ***** ");break;
case 2:printf(" * *");break;
case 3:printf(" ***** ");break;
case 4:printf(" * *");break;
case 5:printf(" ***** ");break;
}
}
}
printf("\n");
}
}
Croper 发表于 2019-4-20 14:14
你要的大概是这种效果吧,
不过你的代码得大改,
需要使用一个字符串记录输入的文字,
谢谢
页:
[1]