c语言输出数组的格式(如何用printf输出一个数组)

c语言如何输出一组数组?

C语言要输出一组数组,是不能直接打印这个数组名称的,需要写一个循环,循环次数就是这个数组的长度,从下标0开始到n-1,在循环体里面依次访问这些数组元素a[i],其中i是循环变量。然后使用printf语句打印这些元素就可以了。希望以上回答可以帮助到您。

printfnf函数输出数组的格式?

printf函数输出数组有三种方法:

int a[10];

int i;

for (i=0;i<10;i++)

scanf(“%d”, &a[i]);

下标法:

for (i=0;i<10;i++)

printf(“%dn”, a[i]);

由数组名计算地址:

for(i=0;i<10;i++)

printf(“%dn”, *(a+i));

用指针变量指向数组元素:

int *p;

for(p=a; p<(a+10); p++)

printf(“%d”, *p);

C语言数组的输入输出函数

1、函数arrDisp中,for循环之中,不能定义变量,变量应该在函数开头声明。

2、变量j未定义。

3、在main函数调用arrDisp函数时,一般是以数组名传递参数。

4、在arrDisp函数中,for循环下的printf函数,应该调用数组a【j】的元素做为输出。

C语言之二维数组输入输出

  • 题目描述 输入一个二维数组a,然后将改二维数组中行和列中的元素互换,存到另外一个二维数组b中,然后将b与a按一定格式分别输出输入测试数据由多组组成,每一组的格式如下:第一行输入两个整数n、m(n,m100),表示二维数组大小a[n][m]接下来有n行,每行有m个整数(第i行的第j个数表示a[i-1][j-1]的值),数与数之间空格隔开(见样例输入)输出对于每组测试数据首先输出数组b(格式参考样例输出),每个数后面带一个空格,接着输出数组a,格式同数组b(见样例输出)样例输入2 3 1 2 3 4 5 6样例输出1 4 2 5 3 6 1 2 3 4 5 6
  • 突然发现毕业后,这种题都不会做了,不好意思啊!

C语言产生随机数组并输出所有组合

  • 以下代码只输出一个组合,要求输出所有组合,如何改代码#include "stdio.h"#include "stdlib.h"#include "time.h"#define MAX 3void main(){ int number[MAX]={0}; int i,j; srand((unsigned)time(NULL));*随机种子* for(i=0;iMAX;i++) { while(number[i]==0) number[i]=rand()%20; printf("%d",number[i]); } while(1) { for(i=0;iMAX;i++) for(j=i+1;j3;j++) { if(number[i]==number[j]) { number[j]=rand()%20; i=-1; } } if(i==MAX) break; }{void input(); int i,j;int temp; for(i=0;i3-1;i++) for(j=0;j3-1-i;j++) if(number[j]number[j+1])排序 {temp=number[j]; number[j]=number[j+1]; number[j+1]=temp;} for(i=0;i3;i++) printf("%4d", number[i]); return 0; }}问题补充: 大体意思是:从1到20个数随机取3个不从复数字的数组,输出所有可能产生的组合void input();是定义并声明函数 for(i=0;i3-1;i++) for(j=0;j3-1-i;j++)if(number[j]number[j+1])对随机产生的数组作升序排序{temp=number[j];number[j]=number[j+1];number[j+1]=temp;}
  • 没明白什么意思,代码不是不全就是有问题: { void input(); int i,j; int temp; for(i=0;i3-1;i++) for(筏单摧竿诋放搓虱掸僵j=0;j3-1-i;j++) if(number[j]number[j+1])排序 { temp=number[j]; number[j]=number[j+1]; number[j+1]=temp; } for(i=0;i3;i++) printf("%4d", number[i]); return 0; }这中间是干嘛的?多了括号?

C语言:把一个数组侧过来输出,哪里错了

  • 答案对的,就是程序会停止运行,代码哪里错了
  • 采纳我手把手教你

用C语言从文件里面读入数据并保存在数组,为什么数组前后输出数据不一样?

  • 大概就是这样的(如图)分成三个部分 第一个部分是刚读入数据后的数组中的数据打印在终端上第二个部分是我的输入的指令第三个部分是再次读取数组得到的数字…都是乱码
  • 这种你把代码发上来才能找的出来

c语言数组相乘后输出多了一列零

  • 程序是关于两个矩阵相乘后输出矩阵的 在Mid和Res第九列莫名多出来一列零请大神指出错误的地方问题补充: float multiplymatrix2(float a22[8][8],float b22[8][8]) 定义两个矩阵相乘{int c22[8][8];int temp[8];for(i = 0; i 8; i++){ for(j = 0; j 8; j++) { temp[j] = 0; for(k = 0; k 8; k++) {temp[j]+=a22[i][k]*b22[k][j];} Res[i][j]=c22[i][j]=temp[j]; printf("%d ", Res[i][j]); } printf("%dn"); } return 0;}本来是8行8列矩阵,结果成了8×9矩阵 最后一列都是零
  • printf("%7.3fn"); 里面的变量名都没有,无法输出

C语言用返回指针值的函数输出数组?

  • #include stdio.h#include stdlib.hint main(){ int *input(void); void output(int *p); int *q; q = input(); output(q); return 0;}int *input(void){ int i,num[5]; int *p; p = num; for(i=0;i5;i++,p++) { scanf("%d",p); } return (p);}void output(int *p){ int i; for(i = 5;i0;i–) { p = p-1; printf("%d ",*p); }}结果为什么不是5 4 3 2 1,而是5 4 3 2 2
  • 因为input()函数创建的数组num[5]作用域在input()函数之内,当input()函数调用结束后,这段内存会被回收,也就是里面的值会变成其他数。修改办法是在堆区创建数组变量手动释放内存!修改后:

C语言从键盘任意输入10个整数,编程实现将其中最大数与最小数的位置对换后,再输出调整后的数组。

  • #include stdio.hvoid main(){ int a[10]; int i,j,max,min,temp,m,n; printf("请输入十个整数n"); for(i=0;i10;i++) { scanf("%d",&a[i]); } for(i=0;i10;i++) { printf("%d",a[i]); } max=a[0];min=a[0]; for(i=0;i10;i++) { if(a[i]max) {max=a[i];m=i; } if(a[i]min){min=a[i];n=i;} } a[n]=max; a[m]=min; for(i=0;i10;i++) { printf("%d",a[i]); } }请问哪里出错了??每次调试都会出现已停止工作
  • 漏写 初始 值 m=0,n=0;补上即好。

C语言编程得到一个数组的最小值是输出结果是-858993460 求解为什么!

  • #include stdio.hint main(){int a[3][10];int i,j,max,min;float sum,aver;sum=0;printf("请输入30位同学的成绩: n");max=min=a[0][0];for(i=0;i&发储篡肥诂堵磋瑟单鸡lt;3;i++){for(j=0;j10;j++){ scanf("%d",&a[i][j]);sum=sum+a[i][j];if(a[i][j]max)max=a[i][j];if(a[i][j]min)min=a[i][j];}}aver=sum30;printf("高出平均分的成绩有: ");for(i=0;i3;i++)for(j=0;j10;j++) if(a[i][j]aver) printf("%3d",a[i][j]); printf("n30位同学的平均成绩: %4.2fn",aver);printf("最高分: %dn最低分: %dn",max,min);return 0;}最后输出的最低分是-858993460 很疑惑! 到底哪里出错了!!!
  • max=min=a[0][0];中a[0][0]没有被初始化。a[0][0]的默认值就是-858993460,你在初始化之前(scanf("%d",&a[0][0]);)就把他赋值给min的,当然最后发储篡肥诂堵磋瑟单鸡也不会有人比他少。

c语言数组输出

  • 输出1,0,0,00,1,0,00,0,1,00,0,0,1
  • #include stdio.h#include conio.hint main (void) {int i,j;for (i=0; i4; i++) {for (j=0; j4; j++) {if (i==j)printf ("1 ");elseprintf ("0 ");}printf ("n");} getch (); *屏幕暂留* return 0;}运行结果如果一定要用数组,那就先给数组赋值,然后打印数组#include stdio.h#include conio.hint main (void) {int arr[4][4];害敞愤缎莅等缝劝俯滑int i,j;for (i=0; i4; i++)for (j=0; j4; j++)arr[i][j] = i==j;for (i=0; i4; i++){for (j=0; j4; j++)printf ("%d ", arr[i][j]);printf ("n");} getch (); *屏幕暂留* return 0;}运行结果
版权声明