C语言数组输入。。

作者&投稿:咸爽 (若有异议请与网页底部的电邮联系)
如何在C语言中用scanf输入数组~

#include
main()
struct
int num;
char name[20];
char sex;
int age;
stu[5];
int i;
for(i=0;i<5;i++)
printf("请输入信息
");
scanf("%d",&stu[i].num);
scanf("%s",&stu[i].name);
scanf("%c",&stu[i].sex); //在%c之前加一个空格
scanf("%d",&stu[i].age);
for(i=0;i<5;i++)
printf( "*%s*",stu[i].name);

扩展资料:
函数 scanf() 是从标准输入流stdin [1] (标准输入设备,一般指向键盘)中读内容的通用子程序,可以说明的格式读入多个字符,并保存在对应地址的变量中。
函数的第一个参数是格式字符串,它指定了输入的格式,并按照格式说明符解析输入对应位置的信息并存储于可变参数列表中对应的指针所指位置。每一个指针要求非空,并且与字符串中的格式符一一顺次对应。
参考资料来源:百度百科-scanf

#include int main(void){int a[5];
printf("请输入5个数字:");
for(int i=0;i<5;i++) {
scanf("%d",&a[i]);
}
for(i=0;i<5;i++) {
printf("%d ",a[i]);
}
printf("
");return 0;}

扩展资料:
for循环
for循环是编程语言中一种开界的循环语句,而循环语句 [1] 由循环体及循环的终止条件两部分组成,for循环其在各种编程语言中的实现与表达有所出入,但基本为以C语言和pascal语言代表的两种形式。
C语言中的for循环形式为:
for(单次表达式;条件表达式;末尾循环体)
{
中间循环体;
}
for循环小括号里第一个“;”号前为一个为不参与循环的单次表达式,其可作为某一变量的初始化赋值语句, 用来给循环控制变量赋初值; 也可用来计算其它与for循环无关但先于循环部分处理的一个表达式。
执行的中间循环体可以为一个语句,也可以为多个语句,当中间循环体只有一个语句时,其大括号{}可以省略,执行完中间循环体后接着执行末尾循环体。
参考资料:for循环-百度百科

C语言数组输入是相同类型的、数量有限的若干个变量通过有序的方法组织起来的一种便于使用的形式。数组属于一种构造类型,其中的变量被称为数组的元素。数组元素的类型可以是基本数据类型,也可以是特殊类型和构造类型。

在引用数组中的元素时,采用数组名[下标]的方式,将其中的每一个元素视为一个普通的变量来进行操作。需要注意的是,因为定义的数组arr仅含有9个元素,所以在使用的过程中,下标值不能超过8,否则就会出现下标越界的错误。

扩展资料:

注意事项:

由于剩余的元素会自动初始化为 0,所以只需要给第 0 个元素赋值为 0 即可,只能给元素逐个赋值,不能给数组整体赋值。例如给 10 个元素全部赋值为 1。

注意指针变量的当前值:指针变量的值在程序运行过程中可能经常改变,要对此注意。

数组越界:C语言系统是不检查数组越界的,需要程序员自行检查。

参考资料来源:百度百科-c语言

参考资料来源:百度百科-数组



#include<stdio.h>
void main()
{
int i,j,k,min,n,m,max;
int a[9];
printf("请输入十个数:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("你输入的十个数为:\n");
for(i=0;i<10;i++)
printf("%d ",a[i]);
min=a[0];
max=a[0];
for(i=1;i<10;i++)
{

if(max<a[i])
{
max=a[i];
n=i;
}

}

for(i=1;i<10;i++)
{

if(min>a[i])
{
min=a[i];
m=i;
}

}

printf("\n最大数为%d ,下标为%d\n",max,n);
printf("\n最小数为%d ,下标为%d\n",min,m);
}

20个元素也是一样的道理的。

#include<stdio.h>
int main()
{
int n,*arr,i,max,min;
// while(true){
printf("Input the size of the arry: ");
//设定数组大小
if (scanf("%d",&n)==EOF)
return 0;
//创建数组
arr = new int[n];
printf("Input the arry elements:\n");
for (max=min=i=0;i<n;i++)
{
//循环输入数组元素,并找出最大最小值
printf("[%d]: (for example: 5<Enter>)",i);
scanf("%d",&arr[i]);
if (arr[i]>arr[max])
max=i;
if (arr[i]<arr[min])
min=i;
}
//输出数组
for (i=0;i<n;i++)
printf("%4d",i);
printf("\n");
for (i=0;i<n;i++)
printf("%4d",arr[i]);
printf("\n");
//输出最大最小值及其位置
printf("The max number of the arry is %d at the position %d.\n",arr[max],max);
printf("The min number of the arry is %d at the position %d.\n",arr[min],min);
delete[] arr;
// }
return 0;
}
/*
*以上程序即可实现动态创建不同大小的一维数组并找出最大
*最小值及其位置的功能,如果想要不退出程序不断的改变数
*组大小,则只需把while(true){}这个循环体的注释去掉,实现
*循环设定数组大小并输入数组元素即可,退出的条件为EOF,
*即按键<Ctrl+Z>。
*/

scanf("%s",str);
遇到空格或回车
函数就结束了。
用gets(str);就可以全部接收了,但好像接收不了
<

>


本次课程我们主要结合给出的例子进行数组的输入和输出源码的详解,教你轻松学数组,适合于零基础学开发的你,如果你想学习更多的软件开发,欢迎加入程序员小白学开发一起学习!




C语言,数组。用键盘输入n个学生的姓名,并按字典顺序排序输出,n值由键 ...
include <stdio.h> include<string.h> int main (){int n,i,j;char s[100][20],t[20];scanf("%d",&n);for(i=0;i<n;i++)scanf("%s",s[i]);for(i=0;i<n-1;i++)for(j=0;j<n-1-i;j++)if(strcmp(s[j],s[j+1])>0){strcpy(t,s[j]);strcpy(s[j],s[j+1...

C语言中,如何利用数组输入不知道个数的若干数,
在数据结构里面,一般使用动态分配空间的方式,malloc首次分配和realloc重新分配更大空间。你可以先malloc一个比较大点的空间,比如20个int的数组空间,当输入个数超过20时,realloc一片20+10的空间,也就是一次性增大10个int的空间,再输入到30个了,就再realloc一片30+10的空间。需要一个变量存贮当前最...

c语言,通过函数为数组输入若干大于等于0的整数,用负数作为输入结束标 ...
程序:include <stdio.h> include <stdlib.h> int main(void){ int arr[256];int i = 0;printf("请输入若干非负整数,以负数输入结回束: \\n");while (true){ 答scanf("%d", &arr[i]);if (arr[i++] < 0)break;} i = 0;printf("输入的数如下: \\n");while (arr[i] >= ...

c语言中如何输入数组中的数
include<stdio.h> int main(){ int i,j;float students[10];float sum=0,max=0;for(i=0;i<10;i++){ printf("请输入的学生的成绩:");scanf("%f",&students[i]);if(students[i]>max)max=students[i];sum=sum+students[i];} printf("这几个同学的最高分为:%f\\n平均成绩为:%...

C语言数组题:循环输入10个元素的整型数组,倒序输出数组元素。把代码写...
include<stdio.h> int main(){ int a[10],i;printf("input 10 int data\\n");for (i=0;i<10;i++) scanf("%d",&a[i]); \/\/输入10个 printf("\\n");for (i=9;i>=0;i--) printf("%d ",a[i]); \/\/倒序输出 printf("\\n");return 0;} 例:input 10 int data 1...

C语言 数组 输入12345 输出1122334455
前面加函数:void doublenumber(char *s){ int i,L;char ss[160];L=strlen(s);for (i=0;i<L;i++) { ss[i*2]=s[i];ss[i*2+1]=s[i];};ss[L*2]='\\0';strcpy(s,ss);}

如何解决C语言程序输入两数组找不同的问题
给定两个整型数组,本题要求找出不是两者共有的元素。输入格式:输入分别在2行中给出2个整型数组,每行先给出正整数N(<=20),随后是N个整数,其间以空格分隔。输出格式:在一行中按照数字给出的顺序输出不是两数组共有的元素,数字间以空格分隔,但行末不得有多余的空格。题目保证至少存在一个...

用VB语言:给数组输入N个数,按从大到小排序输出各数,并求出最大和最小...
Option Explicit Private Sub Command1_Click()Dim i As Integer, j As Integer, n, temp, item Dim arr1() As Single Dim max As Single, min As Single Do n = InputBox("请输入第" & i + 1 & "个数值(输入空值则表示结束):")If n = "" Then Exit Do ReDim Preserve arr1(...

C语言怎么确定int数组输入了几个数?
首先,要明确您的输入在何种情况下表示终止,是空格,还是回车?。。就像字符串,用scanf()就是遇到空格后,将空格前的字符串读入,用gets()就是遇到回车后把整行读入。。如果说您的输入是在回车后终止的,有个简单的办法,就是在每读取一个数字后,判断一下用户是敲空格还是回车。。程序代码如下:i...

c语言一个数组,要求输入四个数字,如果输入小于四个数字,就提示错误...
include<stdio.h>#include<string.h>int main(){int i=0,n,a[10];char s;do{scanf("%d",&a[i++]);}while((s=getchar())!='\\n');if(i<4)printf("输入错误\\n");else{int flag=0;for(n=0;n<i;n++){if(a[n]<1||a[n]>12)flag=1;break;}if(flag)printf("输入错误...

泗县17675541733: 求具体举例说明C语言数组的三种输入方法:赋初值、初始化、动态赋值. -
怀娟裸花: 初始化:int a[2]={1,2}; 赋初值:int b[3]; b[3] = {1,2,3}; 动态赋值:int c[3]; int i; for(i = 0;i < 3;i++)c[i] = i;

泗县17675541733: c语言 如何用数组形式一次性输入几个数字 中间有空格 不换行 -
怀娟裸花: 给个例子你吧 #include<> int main() { int n[8],i; //定义一个有8个元素的一维数组 for(i=0;i<8;i++) scanf("%d",&n[i]); //一般数组用循环输入,二维就用2个循环输入,不懂可以追问我 printf(""); return 0; }

泗县17675541733: C语言数组输入 -
怀娟裸花: scanf("%s",str); 遇到空格或回车 函数就结束了.用gets(str);就可以全部接收了,但好像接收不了.

泗县17675541733: C语言二维数组输入 -
怀娟裸花: #include <stdio.h> #define M 256 #define N 256 void main() { int a[M][N],i,j; printf("Input data:\n"); for(i=0;i<M;i++) for(j=0;j<N;j++) scanf("%d",&a[i][j]); printf("%d\n",a[i][j]); }

泗县17675541733: C语言 数组的输入问题 -
怀娟裸花: #include<stdio.h> #include<iostream> main() {int pos;char a[100];printf("Please input the string:\n"); for(pos=0;;pos++){scanf("%c",&a[pos]);if(a[pos]=='\n')break;//加一条判断语句来结束循环}a[pos]='\0';//在最后输入的字符的后面一位加上\0的结束标志puts(a);system("pause"); } 不懂再问及时采纳

泗县17675541733: 如何用c语言这样输入多维数组,即:输入完第一维后按回车,然后输入第二维,再回车 -
怀娟裸花: //******************************************************************************// 如何用c语言这样输入多维数组 以二维数组为例// 然后输入只是输入的形式而已,不影响数组接收数据的 //******************************************************************************#...

泗县17675541733: c语言 怎样用scanf输入数组变量? -
怀娟裸花: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15#include<stdio.h> voidmain() {inta[10], i;// 输入10个数,放入数组for(i=0; i<10; i++){scanf("%d", &a[i]);}// 输出for(i=0;i<10;i++){printf("%d\n", a[i]);} } 用循环语句实现

泗县17675541733: c语言如何输入带字符的数组 -
怀娟裸花: 设置该数组为字符型.例如:char a[3][5].这样做的话数组当中的所有存储的都被处理为字符.所以那个1,2,3之类的都变成字符了.不是数字.如果想要让1,2,3变成对应的数字,让他们减去字符'0'即可.

泗县17675541733: 求大虾帮助,c语言中如何用数组记录输入的数...举个例子.. -
怀娟裸花: 刚刚写的,你试试!!#include"stdio.h" void main() {int a[10],i;printf("请输入10个数,以空格隔开!!\n");for(i=0;i<10;i++){scanf("%d",&a[i]);}printf("输出如下:\n");for(i=0;i<10;i++){printf("%d\t",a[i]);}getchar(); }

泗县17675541733: 简单地往C语言数组中输入一行数据 -
怀娟裸花: #include <stdio.h> #include <conio.h> int main () {int i[6],j;printf ("请输入6个数:\n");scanf ("%d %d %d %d %d %d",&i[0],&i[1],&i[2],&i[3],&i[4],&i[5]);for(j=0;j<6;j++)printf("%3d",i[j]);getch(); }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网