| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 425 人关注过本帖
标题:谁能解决这问题?
只看楼主 加入收藏
Glost
Rank: 2
来 自:湖北
等 级:论坛游民
帖 子:54
专家分:48
注 册:2010-10-5
结帖率:88.89%
收藏
已结贴  问题点数:20 回复次数:9 
谁能解决这问题?
我是初学者,才一个月的,现在有两个作业题不会做的,各位好心人帮帮忙啊!
1、输入50个数字,要求其值为0到4之间的整数,用-1作为结束标志符,并计算整数出现的个数;
2数组int a[2][3]={{1,2,3},{4,5,6},要求将a的行和列的元素互换后存到数组b中;
搜索更多相关主题的帖子: 元素 
2010-11-14 19:40
zzgzzg00
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:388
专家分:627
注 册:2010-8-2
收藏
得分:5 
main()
{
int a,i=0;
do
{
scanf("%d",&a);
i=i+1;
}while(a!=-1);
printf("%d",i-1);
}
第二个似乎对下标做处理就可以了

粗心是大敌
2010-11-14 19:48
Glost
Rank: 2
来 自:湖北
等 级:论坛游民
帖 子:54
专家分:48
注 册:2010-10-5
收藏
得分:0 
回复 2楼 zzgzzg00
可能是我说的不清楚吧,是计算各个整数出现的个数!
不过还是谢了!
第二题也帮忙解一下啦,我对数组的理解不是很好哦!

只有一条路不能选择—那就是放弃的路;只有一条路不能拒绝—那就是成长的路。
2010-11-15 18:03
zzgzzg00
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:388
专家分:627
注 册:2010-8-2
收藏
得分:5 
main()
{
int a[50],i=0,b[5]={0};
do
{
scanf("%d",&a[i++]);
if(a[i]==0)
b[0]=b[0]+1;
else if(a[i]==1)
b[1]=b[1]+1;
else if(a[i]==2)
b[2]=b[2]+1;
else if(a[i]==3)
b[3]=b[3]+1;
else if(a[i]==4)
b[4]=b[4]+1;
}while(a!=-1||i==49);
a[i]='\0';
printf("%d,%d,%d,%d",b[0],b[1],b[2],b[3],b[4]);
}
这样试试

粗心是大敌
2010-11-15 18:26
HonryZZ
Rank: 2
等 级:论坛游民
帖 子:13
专家分:59
注 册:2010-11-12
收藏
得分:5 
程序代码:
#include <stdio.h>
#include <stdlib.h>

#define MIN_NUM 0
#define MAX_NUM 4

void getInputCharCount(void)
{
    int inputNum;
    int numIdx = 0;
    int countArray[MAX_NUM - MIN_NUM + 1] = {0};
   
    do
    {
        printf("Input a number (0-4) and press enter key :");
        scanf("%d", &inputNum);
        if (inputNum == -1)
        {
            break;
        }
        if (inputNum >= 0 && inputNum <= 4)
        {
            countArray[inputNum]++;
        }
    }while(1);
   
    // print
    for (numIdx = 0; numIdx <= MAX_NUM - MIN_NUM; numIdx++)
    {
        printf("%d appears %d Times\n", numIdx + MIN_NUM, countArray[numIdx]);
    }
}


void ReverseArray()
{
    int array[2][3] =
    {
        {1, 2, 3},
        {4, 5, 6}
    };
   
    int array_new[3][2];
   
    int i, j;
   
    for (i = 0; i < 3; i++)
    {
        for (j = 0; j < 2; j++)
        {
            array_new[i][j] = array[j][i];
            printf("array_new[%d][%d] = %d\n", i, j, array_new[i][j]);
        }
    }
   
   
}

int main()
{
    // call the functions above...
    system("pause");
    return 0;
}
2010-11-15 18:35
lin630784732
Rank: 2
等 级:论坛游民
帖 子:13
专家分:21
注 册:2010-11-11
收藏
得分:5 
第二题
#include "stdio.h"
void main()
{
   int a[2][3]={{1,2,3},{4,5,6}},b[3][2];
   int i,j;
   for(i=0;i<2;i++)
   {
       for(j=0;j<3;j++)
       {
       b[j][i]=a[i][j];
       }
      
   }
   
   for(i=0;i<3;i++)
   {
       for(j=0;j<2;j++)
       {
       printf(" %d ",b[i][j]);
       }
   }
}
2010-11-15 22:09
Glost
Rank: 2
来 自:湖北
等 级:论坛游民
帖 子:54
专家分:48
注 册:2010-10-5
收藏
得分:0 
回复 6楼 lin630784732
感谢啊!是这样的哦!

只有一条路不能选择—那就是放弃的路;只有一条路不能拒绝—那就是成长的路。
2010-11-16 19:36
Glost
Rank: 2
来 自:湖北
等 级:论坛游民
帖 子:54
专家分:48
注 册:2010-10-5
收藏
得分:0 
回复 5楼 HonryZZ
谢谢,不过我目前的水平还有点看不懂哦!

只有一条路不能选择—那就是放弃的路;只有一条路不能拒绝—那就是成长的路。
2010-11-16 19:38
Glost
Rank: 2
来 自:湖北
等 级:论坛游民
帖 子:54
专家分:48
注 册:2010-10-5
收藏
得分:0 
回复 4楼 zzgzzg00
谢谢你啊,真是热心人啊!看了你之前的回复,自己今天好好想了一下,看看我的方法,交流一下!
main()
{
int a,i=0,b[5]={0};
do{
scanf("%d",&a);
i++;
switch(a){
case 0:b[0]++;break;
case 1:b[1]++;break;
case 2:b[2]++;break;
case 3:b[3]++;break;
case 4:b[4]++;break;
}
}
while(a!=-1&&i<=50);
for(i=0;i<5;i++)
printf("%d出现的个数是%d\n",i,b[i]);

}

只有一条路不能选择—那就是放弃的路;只有一条路不能拒绝—那就是成长的路。
2010-11-16 19:48
zzgzzg00
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:388
专家分:627
注 册:2010-8-2
收藏
得分:0 
呵呵  你是对的 i应为50  我少算了 惭愧 惭愧

粗心是大敌
2010-11-17 17:53
快速回复:谁能解决这问题?
数据加载中...
 
   



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

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