精华内容
下载资源
问答
  • 关于C语言数组的输入输出

    万次阅读 多人点赞 2017-12-11 20:31:31
    先摆代码: ... //定义数组,不设初值 char a[8] = { 'a' }; //定义数组,设置初值,这样其余为\0 scanf("%s", a); //第一种输入方式 int i = 0; //第二种输入方式 for (; i (a) - 1; i++) { char

    先摆代码:

    #include<stdio.h>
    #include<windows.h>
    
    int main()
    {
    	char a[8] ; //定义数组,不设初值
    	char a[8] = { 'a' }; //定义数组,设置初值,这样其余为\0
    
    	scanf("%s", a); //第一种输入方式
    	int i = 0; //第二种输入方式
    	for (; i <= sizeof(a) - 1; i++)
    	{
    		char ch;
    		if ((ch = getchar()) == 012)break;
    		a[i] = ch;
    	}
    		
    	printf("输出数组所占字节数:%d\n", sizeof(a)); //输出数组所占字节数
    	printf("字符串实际长度:%d\n", strlen(a)); //输出字符串实际长度,不包括\0
    
    	printf("%s\n", a); //第一种输出方式
    	int o = 0; //第二种输出方式
    	for (; o <= sizeof(a) - 1; o++)
    		putchar(a[o]);
    
    
    	printf("\nEND"); //作为结尾,便于观测
    
    	Sleep(60000);//暂停一分钟,以便观察结果
    	return 0;
    }


    TEST1.我们不设初值定义数组,再选择第一种输入方式,输入123,输出结果为:


    输入1234567,再运行:


    输入12345678,再运行:


    但一分钟(即程序正常运行结束)后报错.
    分析:不设初值定义数组,数组内应该没\0;第一种输入方式系统会自动在用户输入的内容后加上\0.所以实际向数组内赋了9个字符的值.所以报错.
    第二种输出方式会将字符数组中每一个值都输出,当输入123时,数组内为123\0????,所以会出现乱码.
    TEST2.我们不设初值定义数组,再选择第二种输入方式,输入123,输出结果为:

    输入1234567,再运行:


    输入12345678,再运行:


    程序结束后没有报错.
    分析:不设初值定义数组,数组内应没\0;第二种输入方式是实打实的用户输入啥便赋予数组啥.又因为strlen(a))输出字符串实际长度时在找\0,但数组中没\0,所以显示错误的数据.同理第一种输出方式在找\0没找到,所以1234567[8]后出现乱码.再说第二种输出方式,第二种输出方式会将字符数组中每一个值都输出,当输入123时,数组内为123?????,所以会出现乱码.第二种输入方式不会多加\0,所以赋了8个值,不会报错.
    TEST3.我们定义数组,设初值,再选择第一种输入方式,输入123,输出结果为:


    输入1234567,再运行:


    输入12345678,再运行:


    然后程序报错....
    分析:定义数组并设初值,数组内未赋值部分会自动初始为\0;所以前两个图片都没问题.第一种输入方式系统会自动在用户输入的内容后加上\0.所以实际向数组内赋了9个字符的值.所以报错.
    TEST4.我们定义数组,设初值,再选择第二种输入方式,输入123,输出结果为:


    输入1234567,再运行:


    输入12345678,再运行:


    分析:定义数组并设初值,数组内未赋值部分会自动初始为\0;所以前两个图片都没问题.第二种输入方式是实打实的用户输入啥便赋予数组啥.又因为strlen(a))输出字符串实际长度时在找\0,但数组中八个位置都被占了,没\0,所以显示错误的数据,同理第一种输出方式在找\0没找到,所以12345678后出现乱码.



    展开全文
  • 可以在初始定义字符数组时进行赋值,例如char c[]={"China"}; 或者用strcpy函数 例如char c[20];...输出的话,可以一个一个以单个字符方式用for循环"%c"输出,或者以字符串方式 printf("%s",c); ...

    可以在初始定义字符数组时进行赋值,例如char c[]={"China"};

    或者用strcpy函数 例如char c[20]; strcpy(c,"China");      注意:使用此函数时,需要在文件开头用#include<string.h>

    输出的话,可以一个一个以单个字符的方式用for循环"%c"输出,或者以字符串的方式 printf("%s",c);

    除此之外,还有gets,puts,getchar,putchar函数

    例如,char a; gets(a); //输入数组  puts(a);//输出数组   

    getchar,putchar函数都是针对单个字符进行输入输出

     

     

     

     

    展开全文
  • 冒泡排序 #include int main() { int a[10]; int i,j; int t; for(i=0;i;i++) //a[10]赋值十个数 scanf("%d",&a[i]); for(j=9;... } 随便输入十个数,输出结果会自动排序,每输入完一个数记得打空格

    冒泡排序

    #include<stdio.h>
    int main()
    {
    	int a[10];
      int i,j;
      int t;
      for(i=0;i<10;i++)     //a[10]赋值十个数 
      scanf("%d",&a[i]);
      for(j=9;j>0;j--)     //排序 
      for(i=0;i<j;i++)
      if(a[i]>a[i+1])
      {
      t=a[i+1];           //a[i]与a[i+1]交换值 
      a[i+1]=a[i];
      a[i]=t;
      }
      for(i=0;i<10;i++)
      printf("%d",a[i]);
      return 0;
      
      
    } 
    

    随便输入十个数,输出结果会自动排序,每输入完一个数记得打空格

    展开全文
  • 字符数组的输入除了使用scanf外,还可以使用getchar或者gets;其输出除了使用printf外,还可以使用putchar或者puts。 (1)scanf输入,printf输出 scanf对字符串的输入有%s和%c两种格式。%...

    字符数组就是char数组,当维度是一维是可以当做“字符串”,当维度是二维时可以当成是字符串数组,即若干字符串。字符数组的输入除了使用scanf外,还可以使用getchar或者gets;其输出除了使用printf外,还可以使用putchar或者puts。

    (1)scanf输入,printf输出

    scanf对字符串的输入有%s和%c两种格式。%c格式用来输入单个字符,它能够识别空格和换行符并将其保存到字符数组中;%s格式用来输入一个字符串,它通过空格和换行来识别一个字符串的结束。也就是说使用%s格式输入并保存到字符数组中的字符串是不含空格的。下面是一个实例:

    1. #include <stdio.h>
    2. int main(){
    3. char str[10];
    4. scanf("%s", str);
    5. printf("%s", str);
    6. return 0;
    7. }

    输入字符串“abc def ghi”,输出的结果为“abc”。可以看到,%s识别空格作为字符串的结尾,因此第一个空格后面的字符都不会被读入。

    (2)getchar输入,putchar输出

    getchar和putchar分别用来输入和输出单个字符。getchar可以识别换行符和空格并将其保存。下面是一个例子:

    1. #include <stdio.h>
    2. int main(){
    3. char c1, c2, c3;
    4. c1 = getchar();
    5. c2 = getchar();
    6. c3 = getchar();
    7. putchar(c1);
    8. putchar(c2);
    9. putchar(c3);
    10. return 0;
    11. }

    在这里我们如果输入“a“,然后敲回车,然后输入”bc“,再敲回车,输出的结果会是这样:

    a


    b

    这是由于getchar可以识别换行符,所以c2实际上存储的是换行符,因此字符c没有被存入,字符ab之间会有一个换行出现。

    (3)gets输入,puts输出

    gets用来输入一行字符串并将其存放于一维数组(或二维数组的一维)中,读取字符串直到换行符结束,但换行符会被丢弃,然后再末尾添加‘\0’,它与scanf(”%s“, s)相似,但不完全相同,gets可识别空格并将其输入。puts函数会自动换行。下面是一个例子:

    1. #include <stdio.h>
    2. int main(){
    3. char str1[20];
    4. char str2[5][10];
    5. gets(str1);
    6. for(int i = 0; i < 3; i ++){
    7. gets(str2[i]);
    8. }
    9. puts(str1);
    10. for(int i = 0; i < 3; i ++){
    11. puts(str2[i]);
    12. }
    13. return 0;
    14. }
    输入下面几个字符串:

    abc def

    QAQ

    T_T

    WoAiNi

    这几个字符串都可以原样输出,因为gets可以识别空格并将其保存到字符串中。另外需要注意的是,gets函数会无限读取,不会判断上限,所以程序员应该确保buffer的空间足够大,以便在执行读取操作时不会发生溢出。如果溢出,多出来的字符会被写入到堆栈中,这就覆盖了堆栈原有的内容,破坏一个或多个不相关变量的值。

    展开全文
  • 输入十个整数成绩,输出低于平均分成绩,用c语言数组怎么做?输入打不出来
  • C语言:字符数组的输入输出

    万次阅读 多人点赞 2018-12-20 10:56:46
    用printf输出 用scanf输入 用gets输入 用puts输出 用printf输出 输出方法1:printf 逐个字符输出。  void main(void){  char c[ ] = "I am happy";   int i;   ...
  • C语言指针数组介绍,定义指针数组输入输出指针数组 1、什么是指针数组; (1)数组里面每一个元素不是值而是值,而是指针。 (2)把很多指针集合在一起,就是一个指针数组 2、定义一个指针数组: ***(p+1) ...
  • C语言数组——字符数组

    千次阅读 多人点赞 2020-02-17 20:59:51
    C语言目录 C/C++学习资源(百度云盘链接) 计算机二级资料(过级专用) C语言学习路线(从入门到实战) ...C语言中的输入输出函数 C语言流程控制语句 C语言数组——一维数组 C语言数组——二维数...
  •  输入三个字符串数组,并原样输出。 代码如下 <code>#include <stdio.h> #include <stdlib.h> int main() { char a[3][7]; for (int i = 0; i < 3; i++) { scanf("%...
  • 0821-数组的最大值及下标数组 时间限制: 1000 毫秒 内存限制: 32768 K字节 总提次数: 1145 次版权文档请勿用做商业用途 成功提交次数: 875 次版权文档请勿用做商业用途 判题规则: 严格比较 问题描述 在一个n1)个元素...
  • C语言数组——二维数组

    千次阅读 多人点赞 2020-02-07 14:58:35
    C语言目录 C/C++学习资源(百度云盘链接) 计算机二级资料(过级专用) C语言学习路线(从入门到实战) ...C语言中的输入输出函数 C语言流程控制语句 C语言数组——一维数组 二维数组 前面介绍了...
  • 大一c语言数组实验心得 C语言...下面是小编带来的有关大一c语言数组实验心得希望大家喜欢 #大一c语言数组实验心得1# 试验目的 1 掌握一维数组和二维数组的定义赋值和输入输出的方法; 2 掌握字符数组和字符串函数的使用;
  • C语言数组练习

    2021-04-21 18:50:24
    C语言数组练习 题目 1、将一个长度为8整型数组中值按逆序存放;(数组中数据自己从键盘动态输入) 。 2、输入8个数据,然后按照由小到大顺序输出。 3、从键盘输入一个4*3整型数组赋值,找出其中最小值,并将...
  • C语言字符数组的输入输出

    千次阅读 2016-06-27 02:01:10
    #include #include #include  #include typedef struct student { int num; char name[10]; char sex[5]; char birth[10]; } sq; sq sqlist[10]; int main() { gets(sqlist[1].name);... print
  • 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复数字2或者3. 解法1:对于数组进行排序,之后对于已经排序的数组进行遍历便可知道数组中重复数字。 时间复杂度;O(nlogn); 解法2:建立一个...
  • C语言数组–数组元素判断查询 1.问题描述 今天在复习C语言数组部分内容,然后复习过程有一个题目要去做 在做第三个题目时候,整个人思路卡住了,因为if()函数里面不能嵌套for()循环,然后如果在for()函数...
  • 1. 题目:请编写一个程序,使其可以实现:输入n(0-n≤10)个整数,删除其中负数。例如, 输人1.-23,4.5,-6.7,输出结果为13 5 7. 。 以下是我编写代码: ``` #include void main() { int i=0...
  • C语言数组练习题目

    千次阅读 2020-06-07 19:14:18
    1、编写程序,输入10个整数存入一维数组,统计输出其中正数、负数和零个数。 #include<stdio.h> main() { int a[10],i,j=0,k=0,l=0; printf("请输入10个整数:"); for(i=0;i<10;i++) { scanf("%d...
  • C语言数组

    2016-10-27 19:00:38
    数组 1.1一维数组的定义及初始化 一维数组的定义格式:int a[10];... 用冒泡法对键盘输入的10个数据进行从小到大的排序,并输出排序结果 1.3 二维数组的定义和初始化 1.3.1 二维数组的定义与初始化 格式:
  • 第6章 数组;一维数组的定义引用和初始化;一维数组的引用;二维数组的定义引用及初始化;二维数组是按行存储;二维数组的引用;字符数组;例6.7输出一个菱形图;...字符数组的输入输出;字符串处理函数;字符数组应用举例;
  • c语言 数组 输入n个学生四门课程程成绩,若某学生有不及格成绩,请将该学生所有四门课成绩及平均成绩输出。 程序语言输出如下 #include <stdio.h> #define N 100 int main() { int i,j,a[N][4],t; ...
  • C语言数组编程题.pdf

    2020-08-09 02:31:30
    实验 4 数组 一实验目的 1掌握一维数组的定义赋值和输入输出的方法 2掌握字符数组定义初始化赋值的方法 3了解常见的字符串函数功能及其使用方法 4 掌握二维数组的定义与引用 二实验内容 1编写程序输入 10 个整数存入...
  • 编写C语言程序,将输入的n(1<=n<100)个整数,倒置输出 #include <stdio.h> int main() { int n,a[100],i; while(scanf("%d",&n)!=EOF) { for(i = 1;i <= n;i ++) { scanf("%d",&a[i]); } ...
  • C语言 数组

    2012-11-16 22:16:07
    1、由键盘对10个数组元素初始化,求它们平均值并输出。... 2、输入一个十进制整数,输出与其相等二进制形式。将二进制保存在一个数组中,然后按相反顺序输出。   3、编程对10个数组元素排序。
  • 字符数组的输入除了使用scanf外,还可以使用getchar或gets;其输出除了使用printf外,还可以使用putchar或puts。 下面对上述几种方式分别进行介绍: 1.scanf输入与printf输出 scanf对字符类型有%c和%s两种格式...
  • 最近在学C语言数组时,想实现一个和Java一样有输入提醒时,发现事与愿违,后来仔细看了一下C语言输入函数详解,最终得到解决,现在就来分享一下. 先来看一下对比: 在scanf和printf函数中使用格式说明符%c,进行逐个...
  • //C语言的二维动态数组 #include<cstdio> #include<string.h> #include<malloc.h> int main(){ char ** strs=(char **)malloc(sizeof(char*)*3); int (*p)[20]; for(int i=0;i<3;i++){.....
  • c语言数组

    2014-03-11 21:43:47
    输入数据有2行,第一行第一个数为n,后面是n个整数, 第二行整数m。 输出 按先后顺序输出n个整数。 样例输入 5 1 2 3 4 5 2 样例输出 4 5 1 2 3 #include # define N 100 main() { int a[N],n,m,i; ...
  • C语言 一维数组的输入输出

    千次阅读 2021-03-27 16:47:21
    #include <stdio.h> void main(){ int a[3],i;... printf("请输入%d个数:",i+1); scanf("%d",&a[i]); } for(i=0;i<3;i++){ printf("输出第%d个数为:%d\n",i+1,a[i]); } }

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,489
精华内容 1,795
关键字:

c语言数组的输入输出

c语言 订阅