printf打印数组 怎么输出数组里面的数
- 科技
- 2023-08-14 11:57:54
- 196
这篇文章给大家聊聊关于printf打印数组,以及怎么输出数组里面的数对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。C语言如何输入一个数组1、输入数组需要使用指针...
这篇文章给大家聊聊关于printf打印数组,以及怎么输出数组里面的数对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。
C语言如何输入一个数组
1、输入数组需要使用指针获取地址后,就能对得到的数组就行操作了。首先打开DEVC++软件,新建一个空白的C语言文件:
2、输入程序的源码,先定义一个整型数组“a[5]”,采用scanf语句输入数组中的每个元素,这里使用指针来对输入的数字进行访问,要先给输入的每一个数字给予它的地址,便于访问,最后拿得到的数计算出平均值输出,程序就编写完成了:
3、代码全部编写成功之后编译运行,在弹出的输入面板中输入任意5个整数,按回车键,即可得出平均值,以上就是用C语言输入一个数组,关键点是数组的获取要用指针:
怎么定义结构体数组由键盘输入
结构化输入语句scanf即可,printf是格式化输出
c语言编程,打印杨辉三角,要求打印的行数由键盘输入,并且不得使用二维数组
#include<stdio.h>
#include"string.h"
inta[10000];//容器,由n*(n+1)/2<=10000可知,n<=141
intb=3,CR,i;//b为当前行数,CR为要求显示的行数,i为循环数
intYHSJ(intCR)
{
a[1]=a[2]=1;//前两行数值少且全为1,故直接输出
printf("%d\n",a[1]);
printf("%d%d\n",a[1],a[2]);
while(b<=CR)//从第三行开始判断
{
for(i=b;i>=2;i--)//从倒数第一个数开始加
{
a[i]=a[i]+a[i-1];//杨辉三角的规律,没有值的数组默认为0
}
for(i=1;i<=b;i++)//显示循环
{
printf("%d",a[i]);
}
printf("\n");//显示完一行换行
b++;//下一行
}
return0;
}
voidmain()
{
printf("请输入要显示的行数(3~141):");
scanf("%d",&CR);
YHSJ(CR);
}
C语言:从键盘输入n个数,求最大值和最小值(用数组)
#include<stdio.h>
#include<conio.h>
#defineARR_LEN255/*数组长度上限*/
#defineelemTypeint/*元素类型*/
/*输入数组*/
/*arr[]:输入目标数组;len:元素个数*/
voidinputArray(elemTypearr[],intlen){
inti;
for(i=0;i<len;i++)
scanf("%d",&arr[i]);
putchar('\n');
}
/*计算数组最大值、最小值、总和、平均值*/
/*arr[]:目标数组;len:元素个数*/
voidcalcArray(elemTypearr[],intlen,elemType*max,elemType*min){
inti;
*max=*min=arr[0];
for(i=0;i<len;i++){
if(arr[i]>*max)
*max=arr[i];
if(arr[i]<*min)
*min=arr[i];
}
}
/*打印数组内容*/
/*arr[]:打印目标数组;len:元素个数*/
voidprintArray(elemTypearr[],intlen){
inti;
for(i=0;i<len;i++)
printf("%d\t",arr[i]);
putchar('\n');
}
intmain(void){
elemTypearr[ARR_LEN]={3,5,1,-7,4,9,-6,8,10,4};
intlen;
elemTypemax,min;
len=10;
//printf("请输入包含%d的个元素的数组:\n",len);
//inputArray(arr,len);
printf("Theinitialarray:\n");
printArray(arr,len);
calcArray(arr,len,&max,&min);
printf("max:\t%d\n",max);
printf("min:\t%d\n",min);
getch();/*屏幕暂留*/
return0;
}
C语言二维数组输入与输出
代码,实现先输入二维数组的行数m和列数n,并再输入m*n个整型数据存到动态二维数组中。最后输出所有二维数组的元素值。
intmain()
{
int**p;//定义二维指针。
intm,n;//行数和列数。
inti,j;
scanf("%d%d",&m,&n);//输入行数和列数。
if(m<=0||n<=0)return-1;//行数或列数非法。
p=(int**)malloc(sizeof(int*)*m);//申请一组一维指针空间。
for(i=0;i<m;i++)
p<i>=(int*)malloc(sizeof(int)*n);//对于每个一维指针,申请一行数据的空间。
for(i=0;i<m;i++)
for(j=0;j<n;j++)
scanf("%d",&p<i>[j]);//输入第i行第j列的数据。其中&p<i>[j]也可以写作p<i>+j或者是*(p+i)+j.功能相同。
printf("输入的数组为%d行%d列:\n",m,n);
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)//这个循环可以输出一行元素。
printf("%d",p<i>[j]);//输出i行j列的元素。
printf("\n");//每行输入结束加换行符。
}
//释放内存
for(i=0;i<m;i++)
free(p<i>);
free(p);
return0;
}
扩展资料:
函数:free
功能:与malloc()函数配对使用,释放malloc函数申请的动态内存。(另:对于free(p)这句语句,如果p是NULL指针,那么free对p无论操作多少次都不会出问题。如果p不是NULL指针,那么free对p连续操作两次就会导致程序运行错误。)
用法;voidfree(void*ptr);
程序例:
C/C++代码如下:
#include<string.h>
#include<stdio.h>
#include<alloc.h>//or#include<malloc.h>
intmain(void)
{
char*str;
/*allocatememoryforstring*/
str=(char*)malloc(10);
/*copy"Hello"tostring*/
strcpy(str,"Hello");
/*displaystring*/
printf("Stringis%s\n",str);
/*freememory*/
free(str);
str=NULL;
return0;
}
END,本文到此结束,如果可以帮助到大家,还望关注本站哦!
本文链接:http://wxnzbj.com/ke/1323.html