| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 365 人关注过本帖
标题:新手编程求指导
只看楼主 加入收藏
csy294745333
Rank: 1
等 级:新手上路
帖 子:58
专家分:0
注 册:2012-3-27
结帖率:9.09%
收藏
已结贴  问题点数:40 回复次数:1 
新手编程求指导
程序代码:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<malloc.h>
main()
{
      int sum1,c,d,i,q,w,r,f,g,j,max,min,y,p,x,nCnt=0,nSum=0;
      float a,b,h[1024],sum2=0,ave;
      double e=1;
      char z;
      char sBuff[1024];
      printf("请选择:\n1:在a-b区间整数和(a<b且区间不包括a和b)\n2:n!\n3:若干个任意整数之和\n4:若干个任意整数的平均值\n5:若干个任意整数的最大值\n6:若干个任意整数的最小值\n7:水仙花数\n8:计算a—b之间所有含某个数字的数之和\n9:退出\n");
      scanf("%c",&z);
      switch(z)
      {
               case '1':
                       printf("please input a and b.\n");
                       scanf("%f%f",&a,&b);
                       c=a+1;
                       d=b;
                       if(d==b)
                       d=d-1;
                       else
                       d=d;
                       sum1=0;
                       for(i=c;i<=d;i++)
                       sum1=sum1+i;
                       printf("在a-b区间整数和(a<b)为%d\n",sum1);
                       break;
               case '2':
                    do
                    {
                        printf("请输入n的值(n>0):\n");
                        scanf("%d",&f);
                    }while(f<=0);
                    for(g=1;g<=f;g++)
                    e=e*g;
                    printf("%d!=%f",f,e);
                    break;
               case '3':
                    printf("请输入要输入数字的个数:\n");
                    scanf("%d",&j);
                     for(i=1;i<=j;i++)
                     {printf("请输入第%d个数字:",i);
                     scanf("%f",&h[i]);
                     sum2=sum2+h[i];
                     }
                     printf("%d个数字的和为%f",j,sum2);
                     break;
               case '4':
                    printf("请输入要输入数字的个数:\n");
                    scanf("%d",&j);
                     for(i=1;i<=j;i++)
                     {printf("请输入第%d个数字:",i);
                     scanf("%f",&h[i]);
                     sum2=sum2+h[i];
                     }
                     ave=sum2/j;
                     printf("%d个数字的平均值为%f",j,ave);
                     break;
               case '5':
                    printf("请输入要输入数字的个数:\n");
                    scanf("%d",&y);
                     for(i=1;i<=y;i++)
                     {
                                      printf("请输入第%d个数字:",i);
                                      scanf("%f",&h[i]);
                     }
                     max=min=h[1];
                     for(i=1;i<=1024;i++)
                     {
                                       if(max<=h[i])
                                       max=h[i];
                                       if(min>=h[i])
                                       min=h[i];
                     }
                     printf("%d个数字的最大值为%f\n",y,max);
                     break;
               case '6':
                    printf("请输入要输入数字的个数:\n");
                    scanf("%d",&j);
                     for(i=1;i<=j;i++)
                     {
                                      printf("请输入第%d个数字:",i);
                                      scanf("%f",&h[i]);
                     }
                     for(i=1;i<=y;i++)
                     {
                                       if(min>=h[i])
                                       min=h[i];
                     }
                     printf("%d个数字的最小值为%f\n",j,min);
                     break;
               case '7':
                          printf("100-999之间的所有水仙花数为:\n");
                          for(q=100;q<=999;q++)
                          {
                           w=q/100;
                           e=q%100/10;
                           r=q%10;
                           if(w*w*w+e*e*e+r*r*r==q)
                           printf("100-999之间的所有水仙花数为:\n%d\n",q);
                           }
                           break;
               case '8':
                      printf("Please input a b c:\n");
                      scanf("%d %d %c",&p,&q,&c);//输入数字a、b和字符c
                      for(x=p;x<=q;x++)
                      {
                      sprintf(sBuff,"%d",x);//将数字转换成字符串
                      if(strchr(sBuff,c))//看字符是否包含在字符串中
                      {
                      nCnt++;
                      nSum += x;
                      }
                      }

                      printf("%d-%d中包含数字%c的整数的数字有%d个,其和为:%d\n", p,q,c, nCnt,nSum);
                      break;
               case '9':return;
}
      system("pause");
}
这是一个选择菜单的程序,但是做好以后第五个选项每次求最大值始终显示最大值是0,帮忙看一下为什么,,,,反复调试要崩溃了
搜索更多相关主题的帖子: 编程 color 
2012-04-10 14:49
爱闹的娃
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:3
帖 子:265
专家分:975
注 册:2011-10-23
收藏
得分:40 
这个问题很小小......你要看看你的max和min类型,再看看你的数组的类型.....你将max、min定义为float就OK
2012-04-10 22:45
快速回复:新手编程求指导
数据加载中...
 
   



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

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