c语言输出对应数字
1. c语言输出数字的格式
格式:intgetchar(void);
intc=getchar();
b)等价于:intc=getc(stdin)
c)也等价于:
intc;
scanf(“%c”,&c);
a)单字符输入输出:
getchar、getc函数:c=getchar();等价于scanf(“%c”,&c);
putchar、putc函数:putchar(c);等价于printf(“%c”,c);
b)单行输入输出:
gets函数:gets(str);等价于scanf(“%s”,str);
puts函数:puts(str);等价于printf(“%s ”,str);
c)格式化输入输出:
printf包括:%d、%u、%x、%c、%s等等。
scanf包括:%d、%u、%x、%c、%s等等。
d)占位控制:
对于整数和字符串在%和控制符之间的数字代表占位,负号代表左对齐。
对于浮点数除了用数字代表占位,负号代表左对齐,还有小数位数的管理。
(1)c语言输出对应数字扩展阅读
C 语言中的数据类型(64位)
标识符长度名称识别方式
char 1B 字符型 ASCII码
short 2B 短整型 补码
int 4B 整型 补码
long 8B 长整型 浮点
float 4B 单精度 浮点
double 8B 双精度 浮点
* 8B 地址、指针 字节编号
2. C语言,如何输出每一位数字
要输出整型数值的每一位数字,关键在于将每一个数字提取出来。
方法有很多,实现方式更是多种多样,以最常见的两种方式举例说明:
一、传统方法,通过除法和模除,取出每一位,并输出。
参考代码如下:
#include<stdio.h>
voidoutput(intn)
{
inta[10];
intl=0;
/*
循环获取每一位的值,并存到数组a中。
其中l表示已经获取到的位数。
由于每次获取的是个位n%10,所以存在数组a中的是各个位数的逆序。
*/
while(n)
{
a[l++]=n%10;
n/=10;
}
//反序输出每一位值。
while(--l>=0)
printf("%d",a[l]);
}
intmain()
{
intn;
scanf("%d",&n);//输入n值。
output(n);//输出各个位。
return0;
}
二、转为字符串,然后输出字符串各个字符。
由于在C语言中,有很多库函数,比如itoa, sprintf等,都可以很方便的将整数转为字符串,而逐位输出字符串各个字节值是很简单的,所以可以通过转为字符串,再输出的方式输出各个位的值。
参考代码:
#include<stdio.h>
voidoutput(intn)
{
chara[11];
inti;
sprintf(a,"%d",n);//转为字符串。
for(i=0;a[i];i++)//遍历字符串。
printf("%c",a[i]);//输出各个位值。
}
intmain()
{
intn;
scanf("%d",&n);//输入n值。
output(n);//输出各个位。
return0;
}
3. C语言:输入一个四位正整数,求出该数对应的各位数字并输出,最后将千位和十位互换,百位何个位互换。
#include <stdio.h>
int main()
{
int number;
printf("请输入0~9999的数字:");
scanf("%d",&number);
if(number>9999||number<0)
{
printf("请输入0~9999的数字:");
return 0;
}
int ones=number%10,tens=number/10%10,hundreds=number/100%10,thousands=number/1000%10;
printf("个位:%d\n",ones);
printf("十位:%d\n",tens);
printf("百位:%d\n",hundreds);
printf("千位:%d\n",thousands);
printf("互换:%d\n",tens*1000+thousands*10+ones*100+hundreds);
return 0;
}