C语言问题C:输出一个整数的逆数?
如果这是《数据解构》课程的作业,你可能需要写一份报告。根据课程进度,需要用数组和链表来实现。
数组是最简单的,但是浪费了一点空间。比如最多允许输入N个数字,所以需要定义一个int[N]的数组。顺序输入和反向输出都是由for和while语句实现的。
#includestdio.h
#定义N100
main(){
inta[N],I,N,x;
Printf(输入几个整数,空格分割,0结束。
);
n0;
for(i0;在;i){scanf(d,x);if(x){a[I]x;n;}
C如何输出数组?
c语言数组输出的所有步骤如下:
1.首先打开C语言项目,然后创建一个int类型的数组。
2.然后指定数组的大小,再设置数组存储数据。
3.然后在mian函数中,创建int类型的变量I,然后使用for语句。
4.然后在for语句中循环,然后在for语句中使用printf语句。
5.然后设置输出类型,再编写输出对象。
6.然后单击“运行程序”查看数组的所有数据。
c语言如何输入数组?
在C语言中,有两个函数允许用户从键盘输入数组数据。它们是gets()和scanf()。Scanf()是通过格式控制器%s输入的数组字符串。除了字符串,还可以输入其他类型的数据。Gets()是直接输入数组字符串,只能输入字符串。
但是,scanf()和gets()是有区别的。
Scanf()读取由空格分隔的字符串。当它遇到空格时,就认为当前字符串结束了,所以无法读取包含空格的字符串。
Gets()认为空格也是字符串的一部分,只有当遇到Enter键时,字符串输入才结束。所以不管输入多少个空格,只要不按回车键,就是gets()的完整字符串。换句话说,gets()用于读取一整行字符串。
例如:
一个
2
三
四
五
六
七
八
九
10
11
12
13
14
15
16
17
18
#包含ltstdio.hgt
intmain(){
charstr1[30]{0}
charstr2[30]{0}
charstr3[30]{0}
//获取()用法
printf(#34输入tastring:#34)
获取(str1)
//scanf()用法
printf(#34输入一个string:#34)
扫描f(#34%s#34,str2)
扫描f(#34%s#34,str3)
//单独输出
printf(#34
str1:%s
#34,str1)
printf(#34str2:%s
#34,str2)
printf(#34str3:%s
第34位,str3)
返回0
}
运行结果:
一个
2
三
四
五
输入一个string:CCJavaPython
输入一个string:PHPJavascript
str1:CCJavaPython
str2:PHP
str3:Javascript
第一个输入字符串由gets()读取并存储在str1中。第二个输入字符串的前半部分由第一个scanf()读取并存储在str2中,后半部分由第二个scanf()读取并存储在str3中。
注意,scanf()读取数据时,需要数据的地址,地址是常数,所以对于int、char、float等类型的变量,要在前面加amp来获取它们的地址。但是在这段代码中,我们只给出了字符串的名称,但是我们没有不要在它前面加amp。为什么?因为字符串名或者数组名在使用过程中通常会转换成地址,所以加amp是多余的,甚至会导致错误。
就目前所学的知识来看,int,char,float等变量。在scanf()中使用时应该在前面加amp,而在scanf()中使用数组或字符串时不加amp,它们自己会转换成地址。读者必须记住这一点。
至于数组名(字符串名)和地址的转换细节,以及数组名什么时候会转换成地址。
以上是C语言数组的输入方法。详细的