另一道课后题
也还是谭浩强的《C语言学习》第二版第五章一道题:先输入一个数,然后判断它一共有几位,并把每一位数从高位到低位顺序输出,再把该数字从低位到高位顺序输出。
[解决办法]
#include <stdio.h>
#include "math.h "
main()
{
char hello[20];
int i;
char c;
int j;
gets(hello);
for(i=0;(c=hello[i])!= '\0 ';i++)
{
}
printf( "%d位数\n ",i);
j=strlen(hello);
printf( "倒序输出\n ");
for(i=j-1;(c=hello[i])!= '\0 '&&i!=-1;i--)
{
printf( "%c ",hello[i]);
}
printf( "\n ");
printf( "顺序输出\n ");
for(i=0;(c=hello[i])!= '\0 ';i++)
{
printf( "%c ",hello[i]);
}
printf( "\n ");
}
不知道可不可以,功能是能实现的
[解决办法]
char s[100];
int snum,n,i;
scanf( "%s ",s);
n = strlen(s);
snum=atoi(s);
for(i=0;i <n;i++)
{
printf( "%d\t ",snum%10);
snum=snum/10;
}
[解决办法]
呵呵,这个题目以前我好象做过了,我是用Array来存储,指针来指向数组。代码就不写了,谈谈思路。
逆序就这样做:
Num = Strlen (Array);
--Num;
while (Array[Num] > = 0)
{
printf ( "%d ",Array[Num]);
--Num;
}