| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1267 人关注过本帖, 1 人收藏
标题:数组问题求解
只看楼主 加入收藏
t55312153
Rank: 2
等 级:论坛游民
帖 子:19
专家分:43
注 册:2011-12-23
收藏
得分:2 
#include <stdio.h>
void tu(int a)   //定义一个空函数,用于输出图形
{
int i;
for (i=0;i<=a;i++) //输出几个*取决于从实参传过来的值。
printf("*");
}
main()
{
int a[40];  //声明数组为int型,共有40个元素。
static int b[11];//定义静态数组为int型,使其初值全部为0,元素定义11个,舍去使用b[0];
int i;
printf("请选择要投票的产品序号!1-10\n");
for (i=0;i<40;i++)//读入元素的值
{
scanf("%d",&a[i]);
if (a[i]<0||a[i]>10) //限制输入元素的值在0到11之间
{
do
{
printf("输入有误!请重新输入");//如果超出此范围就提示出错,并且要求重新输入,直到值符合范围跳出循环
scanf("%d",&a[i]);
}
while(a[i]>0&&a[i]<=10)
}
for (i=0;i<40;i++)//统计40个元素的值,将相同值累加到b数组
{
if (a[i]==1) b[1]++;
if (a[i]==2) b[2]++;
if (a[i]==3) b[3]++;
if (a[i]==4) b[4]++;
if (a[i]==5) b[5]++;
if (a[i]==6) b[6]++;
if (a[i]==7) b[7]++;
if (a[i]==8) b[8]++;
if (a[i]==9) b[9]++;
if (a[i]==10) b[10]++;
}
printf ("产品  得票  直方图\n");
for(i=1;i<11;i++)//输出每个元素的值
{printf("%d  %d  ",i,b[i]);tu(b[i]);printf("\n");}
}

新手!没调试。。。。。。


[ 本帖最后由 t55312153 于 2011-12-23 17:37 编辑 ]
2011-12-23 17:26
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
回复 17楼 TonyDeng
你说的优秀的设计理念是不是指优秀的算法和数据结构?
代码的长短和模块的多少对一个实用软件的影响大吗?
是不是优秀的设计会一定会产生简短的代码和较少的模块,粗糙的设计就相反呢?

梅尚程荀
马谭杨奚







                                                       
2011-12-23 18:01
离开天空的云
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:110
专家分:198
注 册:2011-8-12
收藏
得分:2 
回复 4楼 beyondyf
2011-12-23 19:04
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:2 
回复 21楼 t55312153
是够新的,这一段写的真繁锁
if (a[i]==1) b[1]++;
if (a[i]==2) b[2]++;
if (a[i]==3) b[3]++;
if (a[i]==4) b[4]++;
if (a[i]==5) b[5]++;
if (a[i]==6) b[6]++;
if (a[i]==7) b[7]++;
if (a[i]==8) b[8]++;
if (a[i]==9) b[9]++;
if (a[i]==10) b[10]++;

总有那身价贱的人给作业贴回复完整的代码
2011-12-23 21:59
luchar
Rank: 9Rank: 9Rank: 9
来 自:南京
等 级:蜘蛛侠
帖 子:279
专家分:1263
注 册:2011-11-3
收藏
得分:2 
回复 24楼 embed_xuel
繁琐是繁琐,但这也是一种方案嘛,能够自己想出方法来解体,就算繁琐,也比那些想都不想直接来求代码的人好多了,是吧


对于TonyDeng和beyondyf,其实呢,你们的出发点就不同,所以不要争了,和谐
其实,来这里讨论的或者求改错调试的大部分都是在校生,都是刚学的c,他们的要求很简单,只要得出一个正确的算法代码和理解这个代码所表示的算法是如何实现的,只要解答了老师布置的或者自己找来的题,输出一个正确结果,就行了
至于输入纠错之类的基本上是可以忽略的(有特别要求的除外)。
2011-12-24 03:02
小小小小生
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-12-23
收藏
得分:0 
还有人写吗?
2011-12-24 12:27
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
回复 25楼 luchar
争论归争论,别伤和气。

梅尚程荀
马谭杨奚







                                                       
2011-12-24 12:38
tan2010
Rank: 2
等 级:论坛游民
帖 子:66
专家分:71
注 册:2011-10-13
收藏
得分:2 
#include<stdio.h>
int main()
{
    printf("样例输入\n");
    int i,a[40],j;int b[10]={0},k;
    for(i=0;i<40;i++)
    {
      scanf("%d",&a[i]);
      if(a[i]<1||a[i]>10)printf("default");
       b[a[i]]++;   
    }
    printf("产品 得票 直方图\n");
    for(j=1;j<=10;j++)
    {
      printf("%6d%6d   ",j,b[j]);//
      for(k=0;k<b[j];k++)printf("*");
      printf("\n");     
    }   
    system("pause");
    return 0;
}
2011-12-25 17:53
快速回复:数组问题求解
数据加载中...
 
   



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

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