c语言高手急救:从键盘输入长整数n,将其从个位开始,每三位数字一组用逗号间隔输出。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言高手急救:从键盘输入长整数n,将其从个位开始,每三位数字一组用逗号间隔输出。相关的知识,希望对你有一定的参考价值。

例如,如果输入最大的长整数:2147483647
则输出:2,147,483,647

比楼上的优点是可分解负整数。
#include<stdio.h>
int main()
long n;
int i=0,j=0,f=0;
char x[60];
printf("n=");
scanf("%ld",&n);
if(n<0) f=1;n=-n;
for(;n!=0;n/=10)
x[i++]='0'+n%10;j++;
if(j==3)
j=0;
x[i++]=',';


if(f) printf("-");
for(i-=1+(x[i-1]==',');i>=0;i--)
printf("%c",x[i]);
printf("\n");
参考技术A 看看这个能不能满足你的要求,不过只能显示正整数

#include <stdio.h>

void print(unsigned int a);

int main()



unsigned int m;
scanf("%u", &m);
print(m);

return 0;



void print(unsigned int a)

const unsigned long max_num = 30;
char buff[30] = '\0'; //定义一个缓冲区,大小为 max_num 字节。
char *p = buff + max_num - 1; /*将p指向buff的最后一个字符*/

int i = 0;
do

*--p = a % 10 + '0';
a /= 10;
i++;
if (i == 3)

i = 0;
if (a != 0)
*--p = ',';

while(a != 0);

p = buff;
while (*p == '\0') p++; /* 查找字符串第一个不为'\0'的地址。不用担心找不到,因为buff中至少有一个字符'0' */
printf("%s", p);
return;

java语言编写一个程序,从键盘输入一个整数,将其转换为二进制数并输出 求大神帮忙

public class Main
public static void main(String[] args) 
System.out.println("请输入整数:");
Scanner sc=new Scanner(System.in);
String input = sc.nextLine();//读取输入字符
try
int i = Integer.parseInt(input);//string转int
String result = Integer.toBinaryString(i);//十进制转二进制
System.out.println("对应二进制数为:");
System.out.println(result);
catch (Exception e) //对非法输入做出处理
System.err.println("请按照要求输入~");



主要用了Scanner类读取控制台输入,以及Integer类进制转化

ps:我自己手动写的,为什么被认证为疑似抄袭QWQ

参考技术A java.lang.Integer这个API包中有进制转换的函数
public static String toBinaryString(int i)
参考技术B 手机怎么写?
import 几个包,io,string,等
直接用函数转换就可以了追问

你会?

追答

这个帮不了你,我是手机上百度知道,等别人吧

参考技术C 追问

以上是关于c语言高手急救:从键盘输入长整数n,将其从个位开始,每三位数字一组用逗号间隔输出。的主要内容,如果未能解决你的问题,请参考以下文章

c语言从键盘上输入一个4位整数,输出其个位、十位、百位、千位上的数字,并求和。(代码15分,调试1

java语言编写一个程序,从键盘输入一个整数,将其转换为二进制数并输出 求大神帮忙

c语言用带参数带返回值的函数实现功能:从键盘上输入一个整数n,计算n !.

程序填空题:以下程序从键盘输入一个100----999之间的整数,求出其相应的个位数、十位数和百位数。

c语言 从键盘上读入一个整型数,将其转化成字符串并输出。例如:输入123,则转换为字符串“123

从键盘上输入5个数,按照输入的逆序打印它们。