| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 475 人关注过本帖
标题:实在想不懂,望纠错,本意是读入任意天数,每天有6个记录,输出每天的记录, ...
取消只看楼主 加入收藏
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
结帖率:97.22%
收藏
已结贴  问题点数:30 回复次数:2 
实在想不懂,望纠错,本意是读入任意天数,每天有6个记录,输出每天的记录,在单独一行上输出平均值。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define A 365

int main(void)
{
    char string[A];
    char *pS[A]={NULL};
    int i=0;
    int days=0;
    int j=0;
    double n=0.0;

    printf("请写出你要输入的天数:");
    scanf("%d",&days);
    for(i=0;i<days;i++)
    {
        printf("请输入第%d天的温度记录:\n",i+1);
         fgets(string,A,stdin);
            string[strlen(string)-1]='\0';
        while(j<6)
        {
            pS[j]=(char*)malloc(strlen(string)+1);
            if(pS[j]==NULL)
            {
                printf("内存失败,程序终止\n");
                return 1;
            }
            strcpy(pS[j++],string);
        }
    }
        j=0;
        for(i=0;i<days;i++)
        {
        printf("    第%d天\n",i+1);
        while(j<6*(i+1))
        {
            if((j+1)%3==0)
                printf("\n");
        printf("%4s",pS[j++]);
        }
        }
        printf("\n\n");
        j=0;
        for(i=0;i<days;i++)
        {
            n=0;
            for(;j<6*(i+1);j++)
            {
            n+=atof(pS[j]);
            free(pS[j]);
            pS[j]=NULL;
            }
        printf("\n第%d天的平均温度为%0.1f\n",i+1,n/(double)6);
        }
    return 0;
}
搜索更多相关主题的帖子: 平均值 include 记录 
2012-11-01 23:25
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
收藏
得分:0 
希望能加以修改并解释其意义,非常感谢

I have not failed completely
2012-11-01 23:26
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
收藏
得分:0 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define A 365

int main(void)
{
    char string[A];
    char *pS[A]={NULL};
    int i=0;
    int days=0;
    int j=0;
    double n=0.0;

    printf("请写出你要输入的天数:");
    scanf(" %d",&days);
    getchar();
    for(i=0;i<days;i++)
    {
        printf("请输入%d天温度记录:\n",i+1);
        while(j<6*(i+1))
        {
             fgets(string,A,stdin);
            string[strlen(string)-1]='\0';
            pS[j]=(char*)malloc(strlen(string)+1);
            if(pS[j]==NULL)
            {
                printf("内存失败,程序终止\n");
                return 1;
            }
            strcpy(pS[j++],string);
        }
    }
        j=0;
        for(i=0;i<days;i++)
        {
        printf("The %d day%c:\n",i+1,i==0?' ':'s');
        while(j<6*(i+1))
        {
        printf("%4s",pS[j++]);
        if(j%3==0)
                printf("\n");
        }
        }
        printf("\n\n");
        j=0;
        for(i=0;i<days;i++)
        {
            for(;j<6*(i+1);j++)
            {
            n+=atof(pS[j]);
            free(pS[j]);
            pS[j]=NULL;
            }
            printf("第%d天的平均温度为%0.1f\n",i+1,n/(double)6);
            n=0;        
        }
            return 0;
}


我已经懂了,也通过百度了解到了scanf的输出与getchar()函数的一些用法,
这个程序我改了一下,可以运行了,但是显得有些笨拙,
如果有时间的话希望能给了比较简洁的实例,谢谢

I have not failed completely
2012-11-02 21:13
快速回复:实在想不懂,望纠错,本意是读入任意天数,每天有6个记录,输出每天的 ...
数据加载中...
 
   



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

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