| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 657 人关注过本帖
标题:程序错了错了·求解求解~~~
取消只看楼主 加入收藏
rayOMG
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2010-10-9
结帖率:83.33%
收藏
已结贴  问题点数:20 回复次数:8 
程序错了错了·求解求解~~~
唉我就是个杯具 晕死

求各位看看

帮帮改改

谢谢咯
程序代码:
//分段函数

/*
计算:
result=1+2+...+i;(0<=i<=5)
result=100-i-(i-1)-...-1;(5<i<=10)
result=i*i;(i>10)
*/

#include<stdio.h>
#include<conio.h>
#include<math.h>
int main()
{
     printf("此程序用于计算分段函数:\n\n");
     printf("result=1+2+...+i (1<=i<=5)\n");
     printf("result=100-i-(i-1)-...-1 (5<i<=10)\n");
     printf("result=i*i (i>10)\n");
     printf("注意:自变量应为正整数。\n\n");
     

     while(1)
     {
             double t=10;
             int i,j,k=1,result=0,n,m;
             char option,count[20];
             printf("——请输入一个正整数:\n");
             while(count[i]!=0x0d
            {
                         count[k]=getche();
                         if(count[k]<'0'||count[k]>'9')
                         {
                              printf("无效数据!请重新输入!按任意键继续.\n\n");
                              getch();
                              goto continue1;
                         }
                         k++;
             }
            
            
             m=k;
            
             for(n=1;n<=k;n++)
             {
                         i+=((count[n]-48)*(int)pow(t,(double)(m-1)));
                         m--;
             }
                        
                        
                         
            
             if(i==0)goto continue1;
                                         
             if(i<=5&&i>=1)
             for(j=1;j<=i;j++)
             result+=j;
            
             else if(i>10)
             result=i*i;
                                   
            
             else
             {
                 result=100;
                 for(j=i;j>=1;j--)
                 result-=j;
             }
             printf("函数值为%d\n\n",(int)result);
            
             while(1)
             {
            
                 printf("您希望:\n");
                 printf("[1] 退出程序\n");
                 printf("[2] 重新计算\n\n");
                
                 option=getch();
                 if(option=='1')
                 goto quit;
                 else if(option=='2')
                 goto continue1;
                 else
                 {
                     printf("输入错误!请重新选择!\n\n");
                     continue;
                 }
             }
             continue1:continue;
             quit:break;
     }
}


 
搜索更多相关主题的帖子: 求解 
2010-10-11 17:37
rayOMG
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2010-10-9
收藏
得分:0 
我实在是找不到办法了
2010-10-11 17:48
rayOMG
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2010-10-9
收藏
得分:0 
感谢啊~又见你了~呵呵 我试试
2010-10-11 20:03
rayOMG
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2010-10-9
收藏
得分:0 
请问~~~~~为什么count[k]=getche()写到while()的括号里就能使程序按回车结束了呢??
2010-10-11 20:30
rayOMG
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2010-10-9
收藏
得分:0 
计算还是出错。。。不明白了

图片:
图片附件: 游客没有浏览图片的权限,请 登录注册
2010-10-11 20:34
rayOMG
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2010-10-9
收藏
得分:0 
写到大括号里不行么??????????????????
2010-10-11 20:40
rayOMG
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2010-10-9
收藏
得分:0 
真的对了~~真的对了~~~太感谢太感谢太感谢了~~~~
2010-10-11 20:48
rayOMG
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2010-10-9
收藏
得分:0 
抱歉抱歉,光注意程序对了,高兴太早了

你改的那两行,特别是第一行,有点匪夷所思啊。。。。

2010-10-11 21:26
rayOMG
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2010-10-9
收藏
得分:0 
这个昨天闷着想了会儿想明白了

我也知道要少用goto,但是以我现在的水平,不用goto我就基本无解~~~

我还是抓紧修炼吧
2010-10-12 19:43
快速回复:程序错了错了·求解求解~~~
数据加载中...
 
   



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

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