c语言如何实现一次性输入两个数值

作者&投稿:尉侄 (若有异议请与网页底部的电邮联系)
~

如果是任意大小的数字,那么有些麻烦,可以设定两个默认值代表最多的数字和最多的次数。接着去轮询,并计数,如果次数大于默认值,替换即可。遍历完成即可输出那两个值。

如果是0~9,或者字母的话,比较简单。可以定义定长的数组,数组下标代表具体值,数组的内容代表值出现的次数,遍历一遍原数组,得到次数。遍历定长数组,得到值。

第一种方法代码如下,第二种自己琢磨吧。

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char const *argv[])
{
    int num = 0;    //用来存最多值的数值,默认为0
    int coumt = 0;  //用来存最多值的个数,默认为0
    int temp = 0;   //中间变量
    int n = 0;      //数组的个数
    int *p = NULL;  //开辟空间的首地址,等价于&a[0]

    printf("Pls enter the number of arrays:");
    while(1)
    {
        scanf("%d", &n);
        if(n <= 0)
            printf("Error is scanf,pls try again
");
        else
            break; 
    }

    p = (int *)malloc(sizeof(int) * n);
    if(p == NULL)
    {
        printf("Error is malloc
");
        return -1;
    }

    for (int i = 0; i < n; ++i)
    {
        printf("Pls enter the num for buf[%d]=", i+1);
        scanf("%d", &p[i]);
    }

    for (int i = 0; i < n; ++i) //简单的遍历查找
    {
        temp = 0;
        for (int j = i; j < n; ++j)
        {
            if (p[i] == p[j])
            {
                temp++;//计数
            }
        }
        if(coumt < temp)//如果次数大于默认值,替换
        {
            coumt = temp;
            num = p[i];
        }
    }
    
    printf("The most common number is %d and the coumt is %d
", num, coumt);

    return 0;
}

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char const *argv[])
{
    int coumt = 0;  //用来存最多值的个数,默认为0
    int temp = 0;   //中间变量,用于计数
    int n = 0;      //数组的个数
    int *p = NULL;  //开辟空间的首地址,等价于&a[0]
    int *num = NULL; //开辟空间的首地址,等价于&a[0]
    int flag = 0;   //定义一个标志位,用于计数重复的次数的数值出现

    printf("Pls enter the number of arrays:");
    while(1)
    {
        scanf("%d", &n);
        if (n <= 0)
            printf("Error is scanf,pls try again
");
        else
            break; 
    }

    p = (int *)malloc(sizeof(int) * n);//存放你要的数组
    if (p == NULL)
    {
        printf("Error is malloc for p
");
        return -1;
    }

    num = (int *)malloc(sizeof(int) * n);//存放最多数值的数组,最坏情况,没有重复数字
    if (num == NULL)
    {
        printf("Error is malloc for num
");
        return -1;
    }

    for (int i = 0; i < n; ++i)
    {
        printf("Pls enter the num for buf[%d]=", i+1);
        scanf("%d", &p[i]);
    }

    for (int i = 0; i < n; ++i) //简单的遍历查找,找出最大的次数
    {
        temp = 0;
        for (int j = i; j < n; ++j)
        {
            if (p[i] == p[j])
            {
                temp++;//计数
            }
        }
        if (coumt < temp)//如果次数大于默认值,替换
            coumt = temp;
    }

    for (int i = 0; i < n; ++i) //简单的遍历查找,找出重复的次数
    {
        temp = 0;
        for (int j = i; j < n; ++j)
        {
            if (p[i] == p[j])
            {
                temp++;//计数
            }
        }
        if (coumt == temp)//如果次数等于最大值,存储
        {
            num[flag] = p[i];
            flag++;
        }
    }
    
    for (int i = 0; i < flag; ++i)
        printf("The most common number is %d and the coumt is %d
", num[i], coumt);   

    free(p);
    free(num);
    return 0;
}



c语言数组一次性输入
空格、TAB键,回车键,这三者都可以作为数据的分隔符号,如果是char型的,空格就是字符了。当你开始输入数字的时候,如果scanf()扫描到空格,就默认为A[0][0]的赋值结束,再扫描到的数字赋值给下一个,,,依次类推。

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

c语言编程一次性购买商品超过500元打7折低于500元打九折
include <stdio.h>int main(){double value, pay;printf("input value:");scanf("%lf",&value);if(value > 500) pay = value * 0.7;else pay = value *0.9;printf("should pay %.2lf\\n", pay);return 0;}

c语言数组一次性输入
空格、TAB键,回车键,这三者都可以作为数据的分隔符号,如果是char型的,空格就是字符了。当你开始输入数字的时候,如果scanf()扫描到空格,就默认为A[0][0]的赋值结束,再扫描到的数字赋值给下一个,,,依次类推。

用mathematica语言怎么一次性查询所有变量,如何一次性删除对所有变量的...
一次性查询所有变量:Names["Global`*"]一次性删除对所有变量的赋值:Clear["Global`*"]一次性删除所有变量:Remove["Global`*"]

C语言如何一次输入多个字符串,然后再输出
1、首先打开visual studio软件,新建一个C语言文件。2、接着在C语言文件的顶部导入库内。3、接着运用scanf函数接收用户输入的字符串。4、然后我们利用printf函数打印一下用户输入的内容。5、运行程序以后就会弹出如下图所示的CMD界面,我们输入内容就会自动接收到,然后原样输出内容。6、最后如果你接收其他...

C语言如何一次性输出一维字符数组?printf(“%s”,a);为何只输出第一个...
s可以打印字符串,但遇到 '\\0'就停止打印 在C语言里面,数组名可以看做是指向数组第一个元素的指针 你可以 for(i=0;i<m;i++){ printf("%c",a[i]);}

编写一段C语言程序,从键盘上一次性输入:Welcom to Beijing。 要求输出...
include<stdio.h> include<string.h> main(){ char str[50];char *p=str;gets(str);for(int i=0;i<sizeof(str)\/sizeof(char);i++){ char t;t=*p++;if(t==32)printf("\\n");else if(t==NULL)break;else printf("%c",t);} while(1); \/\/方便看结果的一个死循环 } ...

如何做到一次性通过英语四六级?
3. 提升听力技巧:多听英语材料,如英语新闻、电视节目、英语电影等。用耳朵去感受语言的真实运用,提高听力理解能力。同时,做听力训练题目来熟悉和掌握常见题型。4. 提升口语表达能力:与同学、老师或其他英语母语者进行交流,提高口语表达的流利度和准确性。还可以参加口语角、英语俱乐部等活动,增加口语...

易语言如何一次性合并多个记事本内容变为一个记事本,并去除空行_百度知 ...
这个简单。现将所有内容合并到一个文件,然后查找 #换行符,记住位置,再次查找 #换行符,看两个换行符之间是否有内容,内容是否都是空格,如果条件成立,两个换行符之间的内容都删去,保留一个换行符就可以了。有事情要出去,不然可以帮你写个代码 ...

彭水苗族土家族自治县19624608248: 编写一个C语言程序,实现在键盘上任意输入两个整数,并输出较大者 -
苏鲁板蓝: #include<stdio.h> main() {int i,j,max; scanf("%d%d",&i,&j); max=o; if(i>j) max=i; else if max=j; }满意请采纳

彭水苗族土家族自治县19624608248: 两个值比较大小,c语言运行时如何输入两个数字 -
苏鲁板蓝: 1、思路:定义两个变量,键盘输入,if判断并输出. 2、参考代码: #include #include int main(){int a,b;scanf("%d%d",&a,&b);if(a>b) printf("最大数是:%d",a);elseprintf("最大数是:%d",b);return 0;}/*运行结果:5 6最大数是:6*/ 1)...

彭水苗族土家族自治县19624608248: C语言 从键盘上随意输入两个整数,要求在主函数中调用自定义函数pro,p -
苏鲁板蓝: 1 2 3 4 5 6 7 8 9 10 11 12 13 14#include <stdio.h>intadd(inta, intb) {returna + b; }intmain() {inta, b;while(scanf("%d%d", &a, &b) != EOF)printf("%d + %d = %d", a, b, add(a,d));return0; }

彭水苗族土家族自治县19624608248: c语言,输入任意两个数,将大数输出 -
苏鲁板蓝: #include "stdio.h" void main() { int a,b; scanf("%d,%d",&a,&b); if(a>b) printf("%d",a); else printf("%d",b); } 如果两个数一样大,那么输出哪一个都是一样的,所以可以不考虑

彭水苗族土家族自治县19624608248: C语言中 输入两个整数,求 -
苏鲁板蓝: #include<stdio.h> int main() {int i;int first;int secondr;int sum=0;printf("请输入任意两个整数(负数也可有):");scanf("%d %d",&first,&second); // if (first > second) {sum = first; first = second; second = first;} // 确保first小,second...

彭水苗族土家族自治县19624608248: C语言,编写一个程序从键盘上输入两个整数,并求出两个数的平均值在屏幕上输出结果 -
苏鲁板蓝: c语言实现: #include<stdio.h> int main() { float a,b,c; printf("please enter number1:"); scanf("%f",&a); printf("please enter number2:"); scanf("%f",&b); c = (a+b)/2; printf("the result is %.1f\n",c); return 0; }

彭水苗族土家族自治县19624608248: c语言如何实现输入任意多个整数? -
苏鲁板蓝: 用循环结构. 具体操作如下. int a; scanf("%d",&a); while(a!=0) { scanf("%d",&a); }这时,你输入任意个整数都行,两个整数中间用任意数量空格隔开,只要最后一个整数输入的是0就行了

彭水苗族土家族自治县19624608248: 编写C程序实现如下功能:从键盘输入两个整数变量a和b的值,输出|a - b| -
苏鲁板蓝: #include<stdio.h> main() { int a,b; printf("Input 2 integers\n"); scanf("%d%d", &a,&b); printf("%d\n",a>b?a-b:b-a); }

彭水苗族土家族自治县19624608248: 允许用户从键盘输入一个两位整数用c语言怎么表示 -
苏鲁板蓝: #include int main() {int a;puts("请输入一个两位数:");while(1){scanf("%d",&a);if(a>9 && a<100)break;puts("输入有误,请重新输入:");}printf("您输入的两位数是:%d\n",a);return 0; }

彭水苗族土家族自治县19624608248: c语言 从键盘输入两个数 求总和和平均值 跪求!!! -
苏鲁板蓝: #include<stdio.h> int main() {int a,b,sum;float aver;scanf("%d%d",&a,&b); //输入的时候用空格隔开两个数sum=a+b;aver=sum/2;printf("总和:%d,平均数:%f",sum,aver);getchar(); }

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