下面讲解分段输出:
123456789 输出123 456 789。 789就是123456789对 1000取余 ,
456呢就是123456789除以1000之后再对1000取余,C语言中除法的规定
5/3=1 100/3=33商是和被除数的类型一样 所以123456789除以1000是123456
那么最后一个123输出依次类推 123456789除以1000*1000=1000000 再对1000取余数
以上是思路
#include<stdio.h>
main
{
int a
scanf("%d",&a)
int i,b
for(i=1,b==0,i++)//判断是几位数,循环结束i为位数值
b=a/10
int c=i/3
int j,d
for(j=0,j<=c,j++)//3位一输出
{d=a%1000
printf("%d",d)
a=a/1000;
}
}
char buf[30]/************************************************/
char *seg(char *s)
{
char *p
int Len,Cnt,Rem
int i
p = buf //暂存
Len = strlen(s)
Cnt = (Len-1) / 3 //逗号个数
Rem = Len % 3 //最前逗号前数字
for(i=0i<Remi++)
{
*p++ = *s++
}
for(i=0i<Cnti++)
{
*p++ = ','
*p++ = *s++
*p++ = *s++
*p++ = *s++
}
*p++ = '\0'
return buf
}
我用最笨的方法写的 编译通过(不通过就没天理了!!)但很有效
代码如下:
#include <stdio.h>
#include <stdlib.h>
main()
{
printf(" 1\n")
printf(" 123\n")
printf(" 12345\n")
printf(" 1234567\n")
printf("123456789\n")
printf(" 4444444\n")
printf(" 33333\n")
printf(" 222\n")
printf(" 1\n")
printf(" \n")
printf(" \n")
printf("1\n")
printf("21\n")
printf("321\n")
printf("4321\n")
printf("54321\n")
printf("6543\n")
printf("765\n")
printf("87\n")
printf("9\n")
printf(" \n")
printf(" \n")
printf("123456789\n")
printf(" 1234567\n")
printf(" 12345\n")
printf(" 123\n")
printf(" 1\n")
printf(" \n")
printf(" \n")
printf(" 1\n")
printf(" 1 2\n")
printf(" 1 2 3\n")
printf(" 1 2 3 4\n")
printf("1 2 3 4 5\n")
printf(" 3 4 5 6\n")
printf(" 5 6 7\n")
printf(" 7 8\n")
printf(" 9\n")
system("pause")
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)