如果要在每行的最后一个元素输出后换行,就应该写成
for (i = 0; i < 20; i++) {
printf("%12d", f[i]); // 先输出当前的数
if (i % 5 == 4) printf("\n"); // 如果刚才输出的数是本行第5个,则换行
}
后面这种方案,换行应该在输出元素之后发生。下面是一个定义、初始化、输出一维数组的示例C语言代码:
#include <stdioh>
int main() {
// 定义一维数组并初始化
int arr[5] = {1, 2, 3, 4, 5};
// 输出数组元素
printf("数组元素为:");
for (int i = 0; i < 5; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
代码中定义了一个数组 `arr`,并初始化为 `{1, 2, 3, 4, 5}`。通过 `for` 循环遍历该数组的每一个元素,并使用 `printf` 函数输出每个元素的值。最终输出如下:
数组元素为:1 2 3 4 5
如果想要输出其他类型的数组(如字符数组或者浮点数数组),只需要在定义数组时指定对应的类型即可。例如,定义一个字符数组的代码为:
char str[6] = "Hello";
输出字符数组的代码与输出整型数组类似,只需要将循环中的 `printf` 函数替换成输出字符串的函数 `puts` 即可:
puts(str);
需要注意的是,在 C 语言中数组下标从 0 开始,因此数组的长度是实际元素个数减一。在上面的示例中,数组长度为 5,但是使用时下标需要从 0 到 4,共计 5 个元素。
c语言,用printf输出一维数组的语句是printf ("%s", a),具体输出一维数组的 *** 作步骤如下:
1、首先我们打开Visual Studio 2010软件,新建一个项目。
2、然后我们按照图示代码输入包含程序需要用到的头文件。
3、然后我们按照图示代码输入主函数main。
4、然后我们按照图示代码定义一个一维数组。
5、然后我们按照图示代码定义一个数组指针。
6、然后我们按照图示代码输入数组指针指向一维数组。
7、然后我们按照图示代码输入for循环。
8、最后打印出结果即可。
限制在C语言中,利用printf直接输出数组是不可以的。
但是你的做法是可以的。只是问题出在你数组使用越界了。
解释一下:
printf不能直接用来输出数组。
例如:
#include<stdioh>int main(){
int a[3]={1,2,3};
int i;
for(i=0;i<3;i++)
printf("%d",a);
}
是错误的
所以要是输出数组的话,必须要借助其他的语句输出,要一个一个地输出,例如for语句的循环输出。
例如:
#include<stdioh>int main(){
int a[3]={1,2,3};
int i;
for(i=0;i<3;i++)
printf("%d",a[i]);
}
但是你这样的做法是可以:
因为你写的a[3][3]实际上已经指定了这个数字在这个二维数组中的横坐标和纵坐标,相当于一个int型的数据。但是不过你数组越界了。
额外引申一下:直接用scanf输入一个数组的量可以么?
#include<stdioh>
int main(){
char a[3];
scanf("%c",&a);
int i;
for(i=0;i<3;i++)
printf("%c",a[i]);
}
这样输入3个字符,只能把输入的第一个字符放进a数组里面。因为a就是这个数组的地址,同时也表示这个数组的第一个。&a可以给数组的第一个放进一个字符,但是后面的就无能为力的。
代码均在Devc++测试。
C
语言中,结构体(struct)是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。
结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问。
定义与声明
结构体的定义如下所示,struct为结构体关键字,tag为结构体的标志,member-list为结构体成员列表,其必须列出其所有成员;variable-list为此结构体声明的变量。
在实际应用中,C语言结构体数组常被用来表示一个拥有相同数据结构的群体,比如一个班的学生、一个车间的职工等。
在C语言中,定义结构体数组和定义结构体变量的方式类似;
例:
struct stu{
charname;//姓名
int num;//学号
int age;//年龄
char group;//所在小组
float score;//成绩
}class[5];
表示一个班级有5个学生。
扩展资料:
结构体数组的引用与引用一个结构体变量在原理上是一样的。只不过结构体数组中有多个结构体变量,我们只需利用for循环一个一个地使用结构体数组中的元素。
下面编写一个程序,编程要求:从键盘输入5个学生的基本信息,如姓名、年龄、性别、学号,然后将学号最大的学生的基本信息输出到屏幕。
#include<stdioh>
#include<stringh>
struct STU
{
char name[20];
int age;
char sex;
char num[20];
};
void OutputSTU(struct STU stu[5]);
//函数声明,该函数的功能是输出学号最大的学生信息
int main(void)
{
int i;
struct STU stu[5];
for(i=0;i<5;++i)
{
printf("请输入第%d个学生的信息:",i+1);
scanf("%s%d%c%s",
stu<i>name,
&stu<i>
age,&stu<i>
sex,stu<
i>num);/%c
前面要加空格,不然输入时会将空格赋给%c/
}
OutputSTU(stu);
return 0;
}
void OutputSTU(struct STU stu[5])
{
struct STU stumax=stu[0];
int j;
for(j=1;j<5;++j)
{
if(strcmp(stumaxnum,stu[j]
num)<0)//strcmp函数的使用
{
stumax=stu[j];
}
}
printf("学生姓名:%s学生年龄:%d学生性别:%c学生学号:
%s\n",stumaxname,
stumaxage,stumax
sex,stumaxnum);
}
输出结果是:
请输入第1个学生的信息:小红22 F Z1207031
请输入第2个学生的信息:小明21 M Z1207035
请输入第3个学生的信息:小七23 F Z1207022
请输入第4个学生的信息:小欣20 F Z1207015
请输入第5个学生的信息:小天19 M Z1207024
学生姓名:小明学生年龄:21学生性别:M学生学号:Z1207035
参考资料:
百度百科——结构体
#include <stdioh>
#include <stdlibh>
int main()
{
int a[2][2];
int i,j;
for (i=0;i<2;i++)
{
for (j=0;j<2;j++)
{
scanf("%d ",&a[i][j]);
}
}
for(i=0;i<2;i++)
for(j=0;j<2;j++)
printf("%d",a[i][j]);
return 0;
}
运行成功
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)