问题描述
输入n个正整数,按顺序输出各位数。
输入
第一行为正整数的个数n. 以下为n个正整数。
输出
对于每个整数,在单独的一行中输出每个整数的分解,每个数字后有一空格。
输入样列
3
1256
0
1545
输出样例
1 2 5 6
0
1 5 4 5
我这样写是错的
#include<stdio.h>
int main()
{
char ch[110];
int t,i;
scanf("%d",&t);
getchar();
while(t--){
for(i=0;ch[i]!='\0';i++){
scanf("%c",&ch[i]);
printf("%c ",ch[i]);
}
printf("\n");
}
return 0;
}
改成这样就对了
#include<stdio.h>
int main()
{
char ch[110];
int t,i;
scanf("%d",&t);
getchar();
while(t--){
gets(ch);
for(i=0;ch[i]!='\0';i++){
printf("%c ",ch[i]);
}
printf("\n");
}
return 0;
}
一定要以字符串的形式输入吗
把'\0'改成'\n'试试
第一个代码,ch[i]还没赋值就开始循环了,循环完i又加1
所以输入了结束符依旧没有结束循环
#include<stdio.h>
int main()
{
char ch[250];
int t,i;
scanf("%d",&t);
getchar();
while(t--){
for(i=1;ch[i-1]!='\n';i++){
scanf("%c",&ch[i]);
printf("%c ",ch[i]);
}
printf("\n");
}
return 0;
}