精华内容
下载资源
问答
  • 1.本题目要求从键盘读入1个整数,把它插入已有n个数的升序整型数组a 输入格式: 输入要求: 在第1行输入已有有序数个数n; 在第2行依次升序输入n个整数,数据之间以空格间隔;(限定n<100); 在第3行输入要...

    指针如果玩不明白就可以不用指针,毕竟学的还不深,依赖程度不大,而且指针玩明白并不简单,有的题目用不熟悉的指针做可能会直接挂。。。。。。(但考基础的时候可能会考指针)很多时候不是不会指针,只是单纯的想偷懒

    个人感觉这位兄弟写的关于指针的解释比较易懂、比较好,所以想分享一下,有需要的朋友可以去看一下
    本文为CSDN博主「挠头狒狒」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:点击这里跳转
    或者手动后面的网址:https://blog.csdn.net/qq_45830608/article/details/105915374

    1.本题目要求从键盘读入1个整数,把它插入到已有n个数的升序整型数组a 中。

    输入格式:
    输入要求:
    在第1行输入已有有序数个数n;
    在第2行依次升序输入n个整数,数据之间以空格间隔;(限定n<100);
    在第3行输入要插入新数w;
    输出格式:
    输出要求: 升序输出已经插入新数的数组元素中间以空格间隔

    #include <stdio.h>
    int main()
    {
        int n,m,i,j,t;
        scanf("%d",&n);
        int a[n+1];
        for(i=0;i<n;i++)
          {
              scanf("%d",&a[i]);
          }
         scanf("%d",&m);
         a[n]=m;                        //将m赋值给数组空余的a[n]
         for(i=0;i<=n;i++)              //排序阶段了,外层循环
           {
               for(j=0;j<n-i;j++)
                 {
                     if(a[j]>a[j+1])
                       {
                         t=a[j];a[j]=a[j+1];a[j+1]=t;
                       }
                 }
           } 
          for(i=0;i<=n;i++) 
          {
              printf("%d ",a[i]);
          } 
        return 0;
    }
    

    2.本题目要求: 从键盘输入10个整数存入一维数组a中,输出数组中最大值元素。

    输入格式:
    输入要求:输入10个整数
    输出格式:
    输出要求:输出最大元素

    #include <stdio.h>
    int main()
    {
        int a[10],i,*p,max;
        p=a;
        for(i=0;i<10;i++)
          {
              scanf("%d",p+i);
              if(i==0)
                                max=*(p+i);
              else if(*(p+i)>max)
                                max=*(p+i);
          }
         printf("%d",max);
         return 0;
    }
    

    3.本题目要求: 从键盘输入10个正整数存入一维数组a中,统计数组元素中偶数个数

    输入格式:
    输入要求: 输入10个数,数据之间用空格间隔。
    输出格式:
    输出偶数个数

    #include <stdio.h>
    int main()
    {
        int a[10],i,*p,n=0;
        p=a;
        for(i=0;i<10;i++)
          {
              scanf("%d",p+i);
              if(*(p+i)%2==0)
                n++;
          }
          printf("%d",n);
          return 0;
    }
    

    4.本题目要求: 从键盘输入n个整数存入一维数组a中,逆序输出输入的数组元素。限制 :数组长度小于100。

    输入格式:
    输入要求
    在第1行输入要存入数组a的元素个数n;
    在第2行依次输入n个整数,数据之间以空格间隔;
    输出格式:
    输出要求:输出数据之间以空格间隔;

    #include <stdio.h>
    int main()
    {
        int i,*p,n;
        scanf("%d",&n);
        int a[n];
        p=a;
        for(i=0;i<n;i++)
              scanf("%d",p+i);
        for(i=0;i<n;i++)
              printf("%d ",a[n-1-i]);
         return 0;
    }
    

    5.如果一个数正着读和逆着读都一样,这样的数就是回文数。

    输入一个五位数,判断是否是“回文数”。
    如果符合要求就输出判断“是”,如果不符合要求就输出判断“不是”。
    输入格式:
    输入一个五位数
    输出格式:
    输出判断结果:如果符合要求就输出判断“是”,如果不符合要求就输出判断“不是”。
    第一个就是单独取各个数,然后比较位数(因为这是指定的五位数,所以…算是钻空子,,,,,,)
    这个题目用数组真的是自己给自己添麻烦
    第二个就是逆序数出这个数,然后将这个数与原数进行比较,用的无限循环while(1)。用break;跳出的

    #include <stdio.h>
    int main()
    {
        int x,a,b,c,d,e;
        scanf("%d",&x);
        a=x/10000;
        b=x/1000%10;
        c=x/100%10;
        d=x/10%10;
        e=x%10;
        if(a==e&&b==d)
          {
              printf("是");
          }
        else
          {
              printf("不是");
          }
          return 0;
    }
    
    #include<stdio.h>
    int main()
    {
        int num,sum,t,zero;
        sum=0;
        scanf("%d",&num);
        zero=num;
        while(1)
        {
            t=num%10;
            sum=sum*10+t;
            num=num/10;
            if(num==0)
            break;
        }
        if(zero==sum)
              printf("是");
        else
              printf("不是");
          return 0;
    }
    

    6.题目要求: 输入一个m行n列矩阵,输出矩阵中每行最大值。

    输入格式:
    输入格式:
    在第1行输入矩阵m行n列,数据以空格隔开;
    从在第2行开始连续输入m行,每行输入n个整数,数据以空格隔开;
    输出格式:
    输出格式:
    输出m个数,分别是每行最大数,每个数值后跟一个空格。
    做法不唯一的,我是新建一个数组,然后将每行进行比较,最大的那个数就放到这个新数组中,最后直接输出这个新数组。

    #include <stdio.h>
    int main()
    {
        int m,n;
        scanf("%d%d",&m,&n);
        int a[m][n];
    	int i,j;
        int max[m],t;
    	for (i=0;i<m;i++)
    	    for (j=0;j<n;j++)
    			scanf("%d",&a[i][j]);
        for (i=0;i<m;i++)
    	{
    	    max[i]=a[i][0];
    	    for (j=0;j<n;j++)
    			if(a[i][j]>=max[i])
                    max[i]=a[i][j];
        }
        for(i=0;i<m;i++)
            printf("%d ",max[i]);
        return 0;
    }
    
    展开全文
  • 然后再从键盘输入一个整数,将此整数插入前有序的9个数,使得最终的10个数依然是从小大有序的。 输入 第一行输入以空格分隔的9个整数数,要求按从小大的顺序输入。第二行输入一个整数。 输出 ...

    题目描述:

    有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入到数组中。假设数组长度为10,数组中前9个数(这9个数要求从键盘上输入,输入时要满足自小到大的输入顺序)已经按从小到大进行排序。然后再从键盘上输入一个整数,将此整数插入到前有序的9个数中,使得最终的10个数依然是从小到大有序的。

    输入

    第一行输入以空格分隔的9个整数数,要求按从小到大的顺序输入。第二行输入一个整数。

    输出

    从小到大输出这10个数,每个数一行。

    样例输入

    1 11 21 31 41 51 61 71 81
    45

    样例输出

    1
    11
    21
    31
    41
    45
    51
    61
    71
    81

    提示

    定义数组时,把数组长度定义为10.

    #include<stdio.h>
    int main()
    {
    	int a[10],i,x;
    	for(i=0;i<=8;i++)
    	scanf("%d",&a[i]);
    	scanf("%d",&x);
    	for(i=0;i<=9;i++) 
    	{
    		if(x>a[8]) {
    		a[9]=x;break;}
    		if(x<=a[i])
    		{
    			for(int n=1;n<=10-i;n++)
    			{a[10-n]=a[9-n];}
    			a[i]=x;
    			break;
    		}
    	}		
    	for(i=0;i<=9;i++)
    	printf("%d\n",a[i]);
    return 0;
    } 
    

    有进度类似的小伙伴可以加我一起学习!

    展开全文
  • 然后再从键盘输入一个整数,将此整数插入前有序的9个数,使得最终的10个数依然是从小大有序的。 输入 第一行输入以空格分隔的9个整数数,要求按从小大的顺序输入。 第二行输入一个整数 输出 从小大输出...

    问题 A: 习题6-4 有序插入

    题目链接
    题目描述
    有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入到数组中。
    假设数组长度为10,数组中前9个数(这9个数要求从键盘上输入,输入时要满足自小到大的输入顺序)已经按从小到大进行排序。
    然后再从键盘上输入一个整数,将此整数插入到前有序的9个数中,使得最终的10个数依然是从小到大有序的。
    输入
    第一行输入以空格分隔的9个整数数,要求按从小到大的顺序输入。
    第二行输入一个整数
    输出
    从小到大输出这10个数,每个数一行。
    样例输入 Copy
    1 11 21 31 41 51 61 71 81
    45
    样例输出 Copy
    1
    11
    21
    31
    41
    45
    51
    61
    71
    81

    #include<iostream>
    #include<cstdio> 
    #include<cmath>
    using namespace std;
    
    int main()
    {
    	int s[10];
    	int k;
    	for(int i=0;i<9;i++)
    	{
    		scanf("%d ",&s[i]);
    	}
    	scanf("%d",&k);
    	for(int i=8;i>=0;i--)//注意:是从i=8开始的 
    	{                    
    		if(s[i]>k)//当s[i]>k时,s[i]向后一位 
    		{
    		s[i+1]=s[i];
    
    		}
    		else {
    			s[i+1]=k;
    			break;
    		}
    	}	
    for(int j=0;j<10;j++)
       printf("%d\n",s[j]);
    return 0;
    }
    
    
    展开全文
  • 从键盘读入10个数存放在数组中,要求由小输入(允许有相同的数)。 如果读入的数比前面的数小,则该数无效,继续读入后面的数据。 输入一个待查找的数,要求找出该数是数组中第几个(序号从1开始计算)。 如果待...

    从键盘读入10个数存放在数组中,要求由小到大输入(允许有相同的数)。
    如果读入的数比前面的数小,则该数无效,继续读入后面的数据
    输入一个待查找的数,要求找出该数是数组中第几个(序号从1开始计算)。
    如果待查找的数在数组中有多个,返回相同数中最后一个数的位置
    如果该数不在数组中,则输出“Not Find!”。
    输入格式:
    在一行读入存放到数组中的数,下一行读入要查找的数。
    输出格式:
    输出查找的数在数组中的位置(序号从1开始计算),没有找到则输出Not Find!
    输入样例1: 从小到大输入,查找的数存在

    -10 5 9 10 20 40 80 90 100 110
    80
    

    输出样例1:

    7
    

    输入样例2:有无效的数输入,查找的数存在

    -10 5 9 10 20 40 15 30 60 90 100 110
    100
    

    输出样例2:

    9
    

    输入样例3:输入的数据有重复,查找的数存在

    1 2 2 2 3 4 5 6 8 8
    8
    

    输出样例3:

    10
    

    输入样例4:从小到大输入,查找的数不存在

    -10 5 9 10 20 40 80 90 100 110
    60
    

    输出样例4:

    Not Find!
    

    通过代码:

    #include<stdio.h>
    
    int main(void){
    	//数组map保存所有输入的数,如果该数有效,数组mark将对应的数标记为1
    	int map[50], mark[12], min, i, tot, sum;
    	scanf("%d", &map[0]); 
    	min = map[0];    //手动给第一个min赋值,否则循环里第一个min是没有初值的
    	mark[0] = 1;    //标记第一个数
    	tot = 1;    	//可用数的个数 
    	sum = 1;		//输入的总个数 
    	while (tot < 10) {
    		scanf("%d", &map[sum]);
    		mark[sum] = 0;    //将标记置为0,等待下一步if的修改
    		if (map[sum] >= min) {
    			tot++;    			//读到可用数,可用数+1
    			min = map[sum];    //更新min,让下一个数可以比较
    			mark[sum] = 1;     //标记做好=1
    		}
    		sum++;    //数组里多了一个数,所以要更新数组的下标
    	}
    	//把所有有效的数据存入数组a中
    	int a[10], cnt = 0;
    	for (i = 0; i < sum; i++){
    		if (mark[i] == 1) { 
    			a[cnt] = map[i];
    			cnt++;
    		}
    	}
    	int find, sit = -1;  //sit记录位置,如果相同则输出最后一个的位置
    	scanf("%d",&find);
    	for(int i = 0;i <10; i++){
    		if(a[i] == find)
    			sit = i + 1;
    	}
    	if(sit == -1)
    		printf("Not Find!\n");
    	else
    		printf("%d\n",sit);
    	return 0;
    }
    
    展开全文
  • #include<stdio.h> #define n 10 int a[n]; int main() { int i,j,num; int max,min; double avg,sum=0; scanf("%d",&num); for(i=0;i<num;i++) { ...
  • 例题:从键盘输入10个数,求出其中的最大数并输出。3.选择法排序4.数组循环移位5.编程序从键盘输入一批09之间的整数,统计出其中每个整数的出现次数。 1.例题:斐波那契数列 斐波那契数列的变化规律是:前两项都是1...
  • 提示: (提示:①设待查找的为x,设三位置变量l、m...首先明确一点,题目的数据a是已知条件,不需要因考虑复用性然后进行数组输入及排序。而后在判断的时候这里采用布尔值的形式。其次,提示内容就是二分法所表达的
  • 已存入数组中的数据值已经按由小到大的顺序存放,现从键盘输入数据,把它插入到数组中,要求插入新数据以后,数组数据仍然保持有序。请编写一程序实现上述功能。 提示: 1)定义整型数组并初始化。 2)...
  • 从键盘输入每小时登录网络的用户数到有24整型元素的数组中。编程以如下格式显示一报告: ​ 时间​ 登录人数​ 所占比例 ​0:00 – 1:00 ​1 0.3 ​1:00 – 2:00 ​2 0.7 ​… ​10:00 - 11:00 ​27 9.0 ​...
  • #include<stdio.h> #define n 10 int a[n]; int main() { int i,j=0,num; int min; int t; scanf("%d",&num); for(i=0;i<num;i++) { scanf("%d"...
  • 供初学者练习和参考使用...1.用函数调用求一组的平均(用数组) #include <stdio.h> int average(int a[],int n) { int i,sum=0; float ave; for(i=0;i<n;i++) sum=sum+a[i]; ave=sum/n; printf...
  • 有一个已排好序(从大到小)的数组有5个元素,从键盘输入个数,要求按原排序的规律将它插入到数组中 #include&amp;lt;stdio.h&amp;gt; void main() { int i,x,j; int a[6]={1,5,10,15,20}; scanf(&...
  • 从键盘输入 10 整数,放置到数组 a 中; ③ 输出数组 a 中的最大值。 注意:使用数组、循环结构语句实现。 public class week02 { /** * 传递一整形数组,获取数组中的最大值 ...
  • C++实验5——数组分离

    2016-05-09 23:51:54
    从键盘输入10个数放在数组A中,将该数组中奇数放到数组B,偶数放到数组C中后分别输出。 /* *文件名称:cy.cpp *作 者:杨鑫 *完成日期:2016年5月9日 *版 本 号:v1.0 *对任务的求解方法及描述部分: *输入描述:...
  • C++实验5数组选择

    2016-05-11 19:24:35
    * 对任务及求解方法的描述部分: 从键盘输入10个数放在数组A中,将该数组中不重复的数放到数组B中, * 输入描述: 输入十个数; * 问题描述: 从键盘输入10个数放在数组A中,将该数组中不重复的数放到数
  • 实验五-数组

    2017-05-11 23:45:18
    * 对任务及求解方法的描述部分:从键盘输入10个数放在数组A中,将该数组中奇数放到数组B,偶数放到数组C中后分别输出。 * 输入描述: 输入十个数放在数组A中 * 问题描述: 从键盘输入10个数放在数
  • c++实验5-数组分离

    2016-05-05 11:42:14
    一、问题及代码 /* * 文件名称:第5次上机实验 * 作 者:张一品 * 完成日期:2016 年 5 月 5 日 * 版 本 号:v1.0 ...* 问题描述:从键盘输入10个数放在数组A中,将该数组中奇数放到数组B,偶数放到数组C中
  • 问题:从键盘输入任意10个数,将其按从小大顺序排列;再输入一个数,将该数插入数列,不改变数列的排序规律。 要求: 用一维数组保存输入的数据,调用排序函数(函数参数用指针)进行排序;调用插入新数函数...
  • 从键盘输入10个数放在数组A中,将该数组中奇数放到数组B,偶数放到数组C中后分别输出。

空空如也

空空如也

1 2 3 4 5 ... 19
收藏数 364
精华内容 145
关键字:

从键盘输入10个数到数组中