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 Mainpublic 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之间的整数,求出其相应的个位数、十位数和百位数。