作业帮 > 综合 > 作业

输入一个不多于5位的正整数,要求 1求出它是几位数 2分别打印每一位数字 3按逆序输出各位数字

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/16 19:31:44
输入一个不多于5位的正整数,要求 1求出它是几位数 2分别打印每一位数字 3按逆序输出各位数字
这是一道题,第三部我想用数组,但是前两问用了很麻烦的方法,可以改成函数加数组的形式表示吗
可以是可以,不过太麻烦了,见下面的代码
#include
int main() {
int a,b[5],s = 0;
scanf("%d",&a);
while (a) {
b[s++] = a % 10;
a /= 10;
}
printf("%d\n",s);
int i;
for (i = s-1; i >= 0; i--) {
printf("%d ",b[i]);
}
printf("\n");
for (i = 0; i < s; i++) {
printf("%d ",b[i]);
}
printf("\n");
return 0;
}
再问: #include void main() { int num,temp,i=0; printf("请输入一个数字\n"); scanf("%d",&num); while(num>0) { temp=num%10; ++i; printf("%d",temp); num=num/10; } printf("\n这个数是%d位数\n",i); system("pause"); return 0; } 能帮我解释一下它吗?详细点,谢谢
再答: int num =0; int i = 0; char num_str[6] = {0}; printf("请输入一个不多于5位的正整数\n"); scanf("%d",&num); do { num_str[i++] = num%10+'0'; //取最后一位数字,+'0' 是把数字转到字符 num = num/10; //去掉最后一位数字 }while (num != 0); //输出位数 printf("%d",i); //正序输出 for(i-=1;i>=0;i--) printf("%c",num_str[i]); //逆序输出 printf("\n%s\n",num_str); 这方法不麻烦吧
再问: 不麻烦,不过我想听听你对上面我追问的那个程序的看法,解释的详细点,谢谢哦
再答: #include void main() { int num,temp,i=0; printf("请输入一个数字\n"); scanf("%d",&num); while(num>0) //大于0说明还有数字要处理 { temp=num%10; //取最后一个数字 ++i; printf("%d",temp); //输出最后一个数字 num=num/10; //去掉最后一个数字,下一次循环倒数第二个数字变成最后一个数字 } printf("\n这个数是%d位数\n",i); system("pause");//暂停 return 0; } //这个程序不符合你要求, 没有正序输出,另外如果你输入0, 那么只输出个位数.
输入一个不多于5位的正整数,要求 1求出它是几位数 2分别打印每一位数字 3按逆序输出各位数字 c语言输入一个不多于5位正整数要求:求出它是几位数;分别打印出每一位数字;按逆序输出各位数字. 给一个不多于5位的正整数,要求1,求出它是几位数!2分别打印出每一位数字!3按逆序打印出各数字! 给一个不多于5位的正整数,要求:①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字. 编写代码?给出一个不多于5位的整数,要求:1,求出它是几位数.2,分别输出每一位数字.3,按逆序输出各位数字. 给一个不多于5位的正整数,要求:1.求出它是几位数; 2.分别输出每一位数字; 3.按逆序输出各位数字 给1个不多于5位的正整数要求1求出它是几位数2分别打印出每一位数字3按逆序打印出各位数字用C语言编程 给定一个不多于5位的正整数,要求:① 求它是几位数;② 分别打印出每一位数字;③ 按逆序打印出各位数 输入一个不多于5位的正整数,要求:(1)求它是几位数;(2)逆序打印出各位数字. 问一道编程题目···给一个不多于5位的正整数1求出它是几位数2分别输出每一位数字3求出它的逆序数并输出,例如123逆序数 C语言 给出一个不多于5位的正整数.1.输出它是几位数 2.输出每一位数字 3.按逆序输出各位数字, C语言:输入一个多于5位的正整数,要求:求它是几位数,分别输出每一个数字,按逆序输出各位数字