juzi_go 2021-06-19 16:01 采纳率: 80%
浏览 109
已结题

c 语言 数组比大小函数 问题 求解决

#include <stdio.h>
#define N 5
void rabbitPrint()
{
	printf("\n");
	printf("\n");
    printf("\t this is a rabbit!\n");
	printf("\n");
	printf("\n");
	printf("\t*           *\n");
	printf("\t**         **\n");
	printf("\t **       **\n");
    printf("\t  **     **\n");
	printf("\t     ***\n");
    printf("\t    *    *\n");
	printf("\t   *   ** *\n");
	printf("\t  *        *\n");
	printf("\t *      *   *\n");
	printf("\t*      ***   *\n");
	printf("\t *          *\n");
	printf("\t    *******    \n");
	printf("\n");
	printf("\n");
  
}

float maxIQ(float you,float me)
{
	if(you>me)
	return you;
	else return me;
	
}

int multplicationTable()
{
	int i,j;
	for(i=1;i<=9;i++)
	{
		for(j=1;j<=i;j++)
		printf("%d*%d=%d\t",i,j,i*j);
		printf("\n");
	}
}

void starMatrix(int row,int column)
{
	
	int i,j;
	for(i=1;i<=row;i++)
	{
		for(j=1;j<=column;j++)
		printf("*");
		printf("\n");
	}
	
}

void input(int s[])
{
	int i;
	printf("输入10个整数:");
	for(i=0;i<10;i++)
	scanf("%d",&s[i]);	
}

int Max(int s[])
{
	int i,max;
	max=s[0];
	for(i=1;i<=max;i++)
	if(s[i]>max)
	  max=s[i];
	  return max; 
}




void scortA(int cScore[N])
{
	int i,j,temp;
	for(i=1;i<N;i++)
	{
		for(j=0;j<N-i;j++)
		{
			
		
		if(cScore[j]<cScore[j+1])
		{
			temp=cScore[j];
			cScore[j]=cScore[j+1];
			cScore[j+1]=temp;
		}
		}
	}
}




int main()
{   int mflag=1; 
    int sflag;
	int mSelect;
	int sSelect;
	while(mflag) 
    {			
	printf("\t\tHI,我是机器人小c,请问需要什么帮助吗?\n");
	printf("\t\t我在听,请继续!\n"); 
	printf("\t\t你可以这样问我:\n"); 
	printf("\n\n");
	printf("\t\t1.请给我讲个笑话!\n");
	printf("\t\t2.请给我打印一些漂亮的图形!\n");
	printf("\t\t3.我要进行一些智能运算!\n");
 	printf("\n\n");
	printf("请输入选择项:");
	scanf("%d",&mSelect);
	if(mSelect==1)
	{
    printf("\t\t   1--我有个朋友,讲了一生电话,有一天他挂了。\n");
    printf("\t\t   0--退出\n");	
	}
	else if(mSelect==2)
	{
	sflag=1;
	while(sflag) 
	{ 
    printf("\t\t   1--我要一只小兔子图形\n");
    printf("\t\t   2--我要一张99乘法表\n");
    printf("\t\t   3--我要一个任意尺寸的星号矩阵\n");
    printf("\t\t   0--退出\n");
    printf("请输入你的选择:");
    scanf("%d",&sSelect);
    int row,column;
	switch(sSelect)
	{
	case 1: rabbitPrint(); break;
	case 2:multplicationTable();  break;
	case 3:
	printf("输入行数");
	scanf("%d",&row);
	printf("输入列数");
	scanf("%d",&column);
	starMatrix(row,column);
	break;
	case 0:sflag=0;
	break;
	default: printf("输入有误");
	break;
	}
	}
	}
	else if(mSelect==3)
	{ sflag=1;
	float you,me;
	 while(sflag)
    {	
	printf("\t\t   1--比较一下我和你的智商谁高!\n");
    printf("\t\t   2--给你一队王者荣耀游戏人物,按照战斗值重新排队哦!嘿嘿!\n");
    printf("\t\t   3--从几队游戏人物里,找到战斗值最高的给我!\n");
    printf("\t\t   0--退出\n");
    printf("\n\n");
    printf("请输入你的选择:");
    scanf("%d",&sSelect);
    int a[10],max;  
   	int i,s[N];
   	switch(sSelect)
	{
	case 1:
    printf("输入你的智商:");
	scanf("%f",&you);
	printf("输入我的智商:");
	scanf("%f",&me);
    printf("智商最高的是:%f\n",maxIQ(you,me));
   	printf("\n\n");	
	break;			
	case 2:	
	printf("input %d numbers:",N);
	for(i=0;i<N;i++)
	scanf("%d",&s[i]);
	scortA(s);
	for(i=0;i<N;i++)	
	printf("%d\t",s[i]);	 
	printf("\n\n");	
	break;
	case 3:
	input(a);
	max=Max(a);
	printf("max=%d\n",max);
	break;
	case 0:sflag=0;
	break;
	default: printf("输入有误");
	}
	}
    }
	else if(mSelect==0)
	{
	mflag=0;
	printf("退出\n");
	}
	else
	printf("输入有误\n");
	getchar();
	getchar();
	return 0;	
	}
}


	

c语言的数组 定义了函数 实现输入十个数取最大的一个数 却只能十以内实现

  • 写回答

1条回答 默认 最新

  • qzjhjxj 2021-06-19 16:39
    关注

    修改如下,供参考:

    #include <stdio.h>
    #define N 5
    void rabbitPrint()
    {
    	printf("\n");
    	printf("\n");
            printf("\t this is a rabbit!\n");
    	printf("\n");
    	printf("\n");
    	printf("\t*           *\n");
    	printf("\t**         **\n");
    	printf("\t **       **\n");
            printf("\t  **     **\n");
    	printf("\t     ***\n");
            printf("\t    *    *\n");
    	printf("\t   *   ** *\n");
    	printf("\t  *        *\n");
    	printf("\t *      *   *\n");
    	printf("\t*      ***   *\n");
    	printf("\t *          *\n");
    	printf("\t    *******    \n");
    	printf("\n");
    	printf("\n");
    }
    float maxIQ(float you,float me)
    {
    	if(you>me)
    	     return you;
    	else return me;
    	
    }
    int multplicationTable()
    {
    	int i,j;
    	for(i=1;i<=9;i++)
    	{
    		for(j=1;j<=i;j++)
    		printf("%d*%d=%d\t",i,j,i*j);
    		printf("\n");
    	}
    }
    void starMatrix(int row,int column)
    {
    	
    	int i,j;
    	for(i=1;i<=row;i++)
    	{
    		for(j=1;j<=column;j++)
    		printf("*");
    		printf("\n");
    	}
    	
    }
    void input(int s[])
    {
    	int i;
    	printf("输入10个整数:");
    	for(i=0;i<10;i++)
    	scanf("%d",&s[i]);	
    }
    int Max(int s[])
    {
    	int i,max;
    	max=s[0];
    	for(i=1;i<10;i++)//for(i=1;i<=max;i++)
    	    if(s[i]>max)
    	       max=s[i];
            return max;
    }
     
     
    void scortA(int cScore[])//void scortA(int cScore[N])
    {
    	int i,j,temp;
    	for(i=0;i<N-1;i++) //for(i=1;i<N;i++)
    	{
    		for(j=0;j<N-i-1;j++) //for(j=0;j<N-i;j++)
    		{
    			
    		
    		if(cScore[j]<cScore[j+1])
    		{
    			temp=cScore[j];
    			cScore[j]=cScore[j+1];
    			cScore[j+1]=temp;
    		}
    		}
    	}
    }
     
     
    int main()
    {       int mflag=1;
            int sflag;
    	int mSelect;
    	int sSelect;
    	while(mflag) 
        {			
    	printf("\t\tHI,我是机器人小c,请问需要什么帮助吗?\n");
    	printf("\t\t我在听,请继续!\n"); 
    	printf("\t\t你可以这样问我:\n"); 
    	printf("\n\n");
    	printf("\t\t1.请给我讲个笑话!\n");
    	printf("\t\t2.请给我打印一些漂亮的图形!\n");
    	printf("\t\t3.我要进行一些智能运算!\n");
     	printf("\n\n");
    	printf("请输入选择项:");
    	scanf("%d",&mSelect);
    	if(mSelect==1)
    	{
               printf("\t\t   1--我有个朋友,讲了一生电话,有一天他挂了。\n");
               printf("\t\t   0--退出\n");
    	}
    	else if(mSelect==2)
    	{
               sflag=1;
    	while(sflag)
    	{
               printf("\t\t   1--我要一只小兔子图形\n");
               printf("\t\t   2--我要一张99乘法表\n");
               printf("\t\t   3--我要一个任意尺寸的星号矩阵\n");
               printf("\t\t   0--退出\n");
               printf("请输入你的选择:");
               scanf("%d",&sSelect);
               int row,column;
    	   switch(sSelect)
    	   {
    	    case 1: rabbitPrint(); break;
    	    case 2:multplicationTable();  break;
    	    case 3:
                       printf("输入行数");
    	           scanf("%d",&row);
                       printf("输入列数");
    	           scanf("%d",&column);
    	           starMatrix(row,column);
    	           break;
    	    case 0:sflag=0;
                       break;
    	   default:printf("输入有误");
    	           break;
    	}
    	}
    	}
    	else if(mSelect==3)
    	{ sflag=1;
    	float you,me;
    	 while(sflag)
        {	
    	printf("\t\t   1--比较一下我和你的智商谁高!\n");
            printf("\t\t   2--给你一队王者荣耀游戏人物,按照战斗值重新排队哦!嘿嘿!\n");
            printf("\t\t   3--从几队游戏人物里,找到战斗值最高的给我!\n");
            printf("\t\t   0--退出\n");
            printf("\n\n");
            printf("请输入你的选择:");
            scanf("%d",&sSelect);
            int a[10],max;
       	int i,s[N];
       	switch(sSelect)
    	{
    	case 1:
            printf("输入你的智商:");
    	scanf("%f",&you);
    	printf("输入我的智商:");
    	scanf("%f",&me);
            printf("智商最高的是:%f\n",maxIQ(you,me));
       	printf("\n\n");	
    	break;			
    	case 2:	
    	printf("input %d numbers:",N);
    	for(i=0;i<N;i++)
    	scanf("%d",&s[i]);
    	scortA(s);
    	for(i=0;i<N;i++)
    	printf("%d\t",s[i]);	 
    	printf("\n\n");	
    	break;
    	case 3:
    	input(a);
    	max=Max(a);
    	printf("max=%d\n",max);
    	break;
    	case 0:sflag=0;
    	break;
    	default: printf("输入有误");
    	}
    	}
        }
    	else if(mSelect==0)
    	{
    	mflag=0;
    	printf("退出\n");
    	}
    	else
    	printf("输入有误\n");
    	getchar();
    	getchar();
    	return 0;	
    	}
    }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月3日
  • 已采纳回答 12月26日

悬赏问题

  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误