int main(void)
{
int i, n;
scanf("%d", &n)
for(i=0; i<n; i++)
{
printf("%d", i+1);
}
return 0;
}
直接复制即可
在C语言中将字符串转化成整型有两种方法。
1 用atoi函数。
atoi的功能就是将字符串转为整型并返回。其声明为
int atoi(char str);
比如atoi("1234");会返回整型1234。
2 用sscanf。
sscanf与标准格式化输入函数scanf类似,不过源并非是标准输入,而是字符串。
用sscanf可以处理更复杂的字符串。
比如字符串char str = "a=1, b=2";
定义int a,b;后
可以用
sscanf(str,"a=%d, b=%d",&a,&b);
来将a,b值提取,计算后,a=1, b=2。
以%开头的都是输出控制符。主要有%d、%u、%ld、%p。
1、%d它的意思是按十进制整型数据的实际长度输出。
2、%u输出无符号整型(unsigned)。输出无符号整型时也可以用 %d,这时是将无符号转换成有符号数,然后输出。
3、%ld它的意思是输出长整型数据。
4、%p 输出变量的内存地址。
扩展资料
1、八进制在C语言中,八进制的输出格式是 %o,八进制是以0为开头的数字,0后面的数字都要小于8,最大为7。
2、十六进制十六进制的输出格式是 %x,十六进制表示的数是0x12 ,这个0也是零。十六进制有点特殊的地方是1-9是纯数字,10-15是用A、B、C、D、E、F来表示的。
4、%d中的d并不表示integer,而是表示decimal(10进制)。
用标准输入输出函数,考虑到有多个数字,使用在for循环输入输出
#include <stdioh>void main( )
{
int num[1000],n,i;
printf("要输入数字的个数:");
scanf("%d",&n);
//输入 n 个数字
for(i=0; i<n; i++)
{
printf("输入第 %d 个数:",i+1);
scanf("%d",&num[i]);
}
//输出 n 个数字
for(i=0; i<n; i++)
printf("%d ",num[i]);
}
忘采纳
1、ANSI C99标准中并没有64位整数类型。但是,许多实际的编译器,都实现了对64位整数类型的支持。因为没有这方面的标准,所以具体的语法描述方式略有不同,一般Windows平台,用__int64的关键字,而Linux平台则使用long long的描述方法。
2、有人做了测试,如下图所示:
综合上图可以得出如下几点:
a:long long定义方式可以用于gcc/g++,不受平台限制,但不能用于VC60。
b:__int64是Win32平台编译器64位长整型的定义方式,不能用于Linux。
c:“%lld”用于Linux i386平台编译器,”%I64d”用于Win32平台编译器。
d:cout只能用于C++编译,在VC60中,cout不支持64位长整型。
3、如果要使用64位的整数,尽量使用最新的编译器,Windows平台,尽量使用VS的较新版本,Linux平台,建议将gcc/g++升级到最新版本。
两种做法,一种是用数组做,只要下标逆序输出就行了。
一种是楼下的知友写的,当成一个整数来做。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include
void
main(void)
{
int
n,a[20],
i=
0;
printf("请输入个数:");
scanf("%d",&n);
for(i=0;i<=n;i++)
scanf("%d",
a[i]);
for
(
i=
n;
i
>=
0;
i--)
printf("%d
",
a[i]);
printf("\n");
}是浮点型数据以整形输出吧?
最为简单的是类型强转如如(int)(11111)为1。
还有一种是系统默认的转换,即将小数部分截去,保留整数部分,如11转换为1
最后一种是通过编码手段获取比如
float x=111;
int s=x%10;//取到的整数部分 对于1111以上的要使用循环
x = x/10;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)