标题:C语言考试大纲(教学材料都在大纲里面)--求大家一起合力把答案和讨论写在这里 ...
只看楼主
千微
Rank: 1
等 级:新手上路
帖 子:7
专家分:1
注 册:2016-12-9
得分:0 
回复 20楼 zzdloveclp
大哥,能不能试一试打下这道题
由键盘输入一个3*4(3行4列)的矩阵,输出矩阵中的鞍点(即在矩阵行中最大,列中最小的数)。
若没有鞍点,输出“NO”字样。
输入样例
87  90  110  98
70  97  210  65
98  45  120  30
输出样例
110
2016-12-10 20:13
zzdloveclp
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:66
专家分:108
注 册:2016-11-25
得分:3 
7.输出如图所示的九九乘法表。
#include<stdio.h>
int main()
{
    int i,j,s;
    for(i=1;i<10;i++)
    {
        for(j=1;j<=i;j++)
        {
            s=i*j;
            printf("%d*%d=%d  ",i,j,s);
        }
    printf("\n");
    }
    return 0;
}
2016-12-10 20:27
zzdloveclp
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:66
专家分:108
注 册:2016-11-25
得分:1 
回复 21楼 千微
#include<stdio.h>
int main()
{
    int a[3][4];
    int i,j,k,max,maxj,flag;
    for(i=0;i<3;i++)
       for(j=0;j<4;j++)
       scanf("%d",&a[i][j]);
      
    for(i=0;i<3;i++)
    {   max=a[i][0];
        maxj=0;
        for(j=0;j<4;j++)
           if(a[i][j]>max)
           {max=a[i][j]; maxj=j; }
        flag=1;
        for(k=0;k<3;k++)
          if(max>a[k][maxj])
          { flag=0; break; }
        if(flag)
        {printf("%d",max);break;}
    }
    if(!flag)
        printf("NO");
}后半部分是网上的,验证过后是对的,不过我还没理解,你先看看!
2016-12-10 21:32
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
得分:1 
回复 楼主 九转星河
得勒。恭献一个简单的。
//8.    有人用一百个铜钱买了一百只鸡,其中公鸡一只5钱、母鸡一只3钱,小鸡一钱3只,
//请编程求出一百只鸡中公鸡、母鸡、小鸡各多少只。
#include<stdio.h>
#include<time.h>
int main()
{
    int chicken=300,hen=0,rooster=0;
    srand((unsigned int)time(0));
    do
    {
        hen=rand()%33;
        rooster=rand()%20;
        chicken=300-hen*9-rooster*15;
    }while(chicken+hen+rooster!=100);
    printf("rooster:%d\nhen:%d\nchicken:%d\n",rooster,hen,chicken);
    return 0;
}
//答案:公鸡4,母鸡18,小鸡78
2016-12-10 22:23
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
得分:0 
回复 24楼 yangfrancis
自学的风格就是不一样~
作业上是这样写的


int x,y,z;
for(x=1;x<=100;x++)
    for(y=1;y<=100;y++)
        for(z=1;z<=100;z++)
            if((x*5+y*3+z/3.0)==100 && (x+y+z)==100)
                printf(“x=%d,y=%d,z=%d\n”,x,y,z);

//这个还是适合新手思维~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-12-10 22:29
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
得分:3 
//13.    编程输出所有"玫瑰花数"。
//(一个四位数等于它每一位数字的4次方之和.那么我们称这个四位数为"玫瑰花数")
#include<stdio.h>
#include<math.h>
int main()
{
    int thousands,hundreds,tens,ones,num;
    for(thousands=1;thousands<10;thousands++)
        for(hundreds=0;hundreds<10;hundreds++)
            for(tens=0;tens<10;tens++)
                for(ones=0;ones<10;ones++)
                    if((num=1000*thousands+100*hundreds+10*tens+ones)==pow(thousands,4)+pow(hundreds,4)+pow(tens,4)+pow(ones,4))
                        printf("%d\n",num);
    return 0;
}
2016-12-10 22:31
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
得分:0 
回复 25楼 九转星河
13就是你说的那种思维啦
2016-12-10 22:33
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
得分:3 
回复 27楼 yangfrancis
/*16.    猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。
第2天早上又将剩下的桃子又吃了一半,又多吃一个。
以后每天早上都吃了前一天剩下的一半零一个。
到第10天早上再吃时,只剩下一个桃子。编程求出猴子第一天共摘多少个桃子。*/
#include<stdio.h>
int main()
{
    int days=10;int peaches=1;
    while(days>1)
    {
        peaches++;
        peaches*=2;
        days--;
    }
    printf("第一天:%d\n",peaches);
    return 0;
}
请问楼主这道题结果是否1534? 不太有把握
2016-12-10 22:44
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
得分:0 
回复 28楼 yangfrancis
嗯嗯,我直接看答案了

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-12-10 22:59
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
得分:3 
/*27.    请编写函数fun, 函数的功能是: 删去一维数组中所有相同的数, 使之只剩一个。
数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。
例如, 一维数组中的数据是: 2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10。
删除后,数组中的内容应该是: 2 3 4 5 6 7 8 9 10。
*/#include<stdio.h>
int fun(int*num,int len)
{
    int i;int index;int x;
    for(i=0;i<len-1;i++)
    {
        x=1;
        while(num[i]==num[i+x]) x++;
        if(x==1) continue;
        for(index=i;index<=len-x;index++)
            num[index]=num[index+x-1];
        len-=(x-1);
    }
    return len;
}
int main()
{
    int idx;int arr[10]={2,2,4,4,4,7,8,10,10,13};
    int length=fun(arr,10);
    for(idx=0;idx<length;idx++)
        printf("%d,",arr[idx]);
    return 0;
}
2016-12-10 23:27



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-472217-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.213448 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved