怎么用循环结构编写
输入一个不超过6位的正整数,分别输出该数的每一位,并用逗号分隔,如果该数是一位数,则输出该数。然后再输出该数是几位数。程序需要对输入的数进行合法性检查,对小于0和大于6位的数要有提示。X=123
1,2,3
N=3
X=-2
Error
X<0
X=1234567
Error
N>6
只会用if做,循环怎么做啊?
#include <iostream.h> void main() { int a = 123456,i = 0; int temp = a; while(0 != a) { i++; temp = a % 10; cout<<temp<<","; a /= 10; } cout<<endl<<"N="<<i<<endl; }这个东西只是大致的写一下 对于那些边缘数据楼主自己根据这个思路完成
#include <stdio.h> int main(int argc, char *argv[]) { int x,n; printf("X="); scanf("%d",&x); if(x<0) printf("Error\nX<0"); else if(x>0&&x<10) printf("%d\nN=1",x); else if(x>=10&&x<100) printf("%d,%d\nN=2",x/10,x%10); else if(x>=100&&x<1000) printf("%d,%d,%d\nN=3",x/100,x/10%10,x%10); else if(x>=1000&&x<10000) printf("%d,%d,%d,%d\nN=4",x/1000,x/100%10,x/10%10,x%10); else if(x>=10000&&x<100000) printf("%d,%d,%d,%d,%d\nN=5",x/10000,x/1000%10,x/100%10,x/10%10,x%10); else if(x>=100000&&x<1000000) printf("%d,%d,%d,%d,%d,%d\nN=6",x/100000,x/10000%10,x/1000%10,x/100%10,x/10%10,x%10); else printf("Error\nN>6"); return 0; }