c语言中,输入一组数如:12345678,从数尾开始,每三位插入一个逗号。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言中,输入一组数如:12345678,从数尾开始,每三位插入一个逗号。相关的知识,希望对你有一定的参考价值。
例如:输入12345678 结果:12,345,678
参考技术A #include<stdio.h>#include<string.h>
#define N 50
int main()
char array[N],b[N];
int j,k,m,n,i=0;
printf("Please input a int list: ");
scanf("%s",array);
i=strlen(array); //取长度
m=i%3; //前面剩下的数的个数
k=i/3; //逗号的个数
for(j=0;j<=m;j++)
b[j]=array[j];
b[m]=','; //这段先将前面的那几个数放在中转数组b[]中
for(j=m+1,n=m;j<i+k-1;j++) //开始后面的循环,从第一个逗号后面开始
if((j-m)%4==0) //判断插入逗号的位置
b[j]=',';
else
b[j]=array[n];
n++; //n的设置是用来解决原数组和中转数组的异步问题
b[i+k-1]=array[i-1]; //避免数组的个数为3的倍数的时候出现末尾的输出不正确
printf("The list after insert: ");
for(j=0;j<i+k;j++) //输出
printf("%c",b[j]);
printf("\n");
return 0;
由于这个显示的问题,可读性比较差,你可以复制到vc下看看就比较清楚了应该,用链表会更简单的,先给你写了个这个,也可以对字符操作 参考技术B 字符串输出,不要数输出,
或者你的编译器的问题 参考技术C #include <stdio.h>
#include <string.h>
int main()
int len,i,r;
char a[1024];
gets(a);
len=strlen(a);
r=len%3;
for(i=0;i<len;i++)
if(i&&i==r)
printf(",");
r+=3;
printf("%c",a[i]);
return 0;
参考技术D #include<stdio.h>
void main()
char a[20];
char *p=a;
int len=0,i;
clrscr();
printf("enter the num");
scanf("%s",a);
len=strlen(a);
for(i=0;i<len;i++)
printf("%c",p[i]);
if(i==len-1)continue;
if((i+1-len%3)%3==0)
printf(",");
第5个回答 2008-10-24 //---------------------------------------------------------------------------
#include <stdio.h>
#include <string.h>
int main(void)
char str[80];
int i,j;
scanf("%79s",str);
for (i = 0; i<strlen(str)%3; i++)
putchar(str[i]);
putchar(',');
for (j=0; i<strlen(str); i++)
putchar(str[i]);
if (++j%3==0&&i!=strlen(str)-1)
putchar(',');
return 0;
//---------------------------------------------------------------------------本回答被提问者采纳
c语言求解,,,输出一组数的最大值,最小值,和,平均值(保留2位小数)。。不能用数组
不能用数组
#include "stdio.h"
int main()
int n,i=0;
double num,sum=0,ave=0,max,min;
printf("一共有多少个数:");
scanf("%d",&n);
printf("请输入%d个数:\\n",n);
scanf("%lf",&num);
max=min=num;
sum+=num;
for(i=1;i<n;i++)
scanf("%lf",&num);
if(num>max)
max=num;
if(num<min)
min=num;
sum+=num;
ave=sum/n;
printf("输入的%d个数中,最大值为%.2lf,最小值为%.2lf,和为%.2lf,平均值为%.2lf\\n",n,max,min,sum,ave);
参考技术A
#include "stdio.h"
int main()
float d,max,min,sum,n;
printf("输入一组数,以非数字结束:\\n");
n=0;
sum=0;
while(scanf("%f",&d)>0)
if(n==0)
max=d;
min=d;
if(max<d) max=d;
if(min>d) min=d;
sum+=d;
n=n+1;
printf("最大数是:%.2f\\n",max);
printf("最小数是:%.2f\\n",min);
printf("和是:%.2f\\n",sum);
printf("平均数是:%.2f\\n",sum/n);
以上是关于c语言中,输入一组数如:12345678,从数尾开始,每三位插入一个逗号。的主要内容,如果未能解决你的问题,请参考以下文章
c语言输入,第一行表示数据组数,第二行表示第一组元素个数,第三行输入元素,后面依次,例 2 6 2
C语言将一组数从大到小排序 只能移动相邻的数 并且要求步骤最小 怎么设计逻辑