| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1109 人关注过本帖
标题:请各位高手帮小妹看下编程哪里出错了??自学碰壁很头疼!!拜托了~~~
取消只看楼主 加入收藏
北辰烟云
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-8-17
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
请各位高手帮小妹看下编程哪里出错了??自学碰壁很头疼!!拜托了~~~
小妹是C初学者,望各位高手多多帮忙!!


题一:
由键盘输入一个字符,若为大写字母则输出“A”,若为小写字母则输出“a”,若为数字符号则输出“0”,若为其他字符则输出“#”。
这是我的编程:
#include<stdio.h>
main()
{
int n;
printf("请输入一个字符:");
scanf("%d",&n);
if(n>=65&&n<=90)
   printf("A\n");
else
   if(n>=97&&n<=122)
      printf("a\n");
   else
      if(n>=48&&n<=57)
         printf("0\n");
      else
         printf("#\n");
}
这是个可运行的程序,但不论输入的是字符还是数字、字母,出来的结果都是“#”,哪里出错了???


题二

题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于
100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?
要求用if 和 switch两种语句编写程序。

我写的if程序:

#include<stdio.h>
main()
{
long int I,s;
printf("当月利润:");
scanf("%d",&I);
if(I<=100000)
  s=0.1*100000;
else
   if(100000<I<=200000);
     s=0.1*100000+0.75*(I-100000);
   else
      if(200000<I<=400000)
        s=0.1*200000+0.05*(I-200000);
      else
         if(400000<I<=600000)
           s=0.1*400000+0.03*(I-400000);
         else
            if(600000<I<=1000000)
              s=0.1*600000+0.015*(I-600000);
            else
              s=0.1*1000000+0.001*(I-1000000);
printf("s=%d\n",s);
}

这道题运行不了,错误提示是这样的:
--------------------Configuration: 16 - Win32 Debug--------------------
Compiling...
16.c
c:\users\dell\desktop\练习\16.c(8) : warning C4244: '=' : conversion from 'const double ' to 'long ', possible loss of data
c:\users\dell\desktop\练习\16.c(11) : warning C4244: '=' : conversion from 'double ' to 'long ', possible loss of data
c:\users\dell\desktop\练习\16.c(12) : error C2181: illegal else without matching if
c:\users\dell\desktop\练习\16.c(14) : warning C4244: '=' : conversion from 'double ' to 'long ', possible loss of data
c:\users\dell\desktop\练习\16.c(17) : warning C4244: '=' : conversion from 'double ' to 'long ', possible loss of data
c:\users\dell\desktop\练习\16.c(20) : warning C4244: '=' : conversion from 'double ' to 'long ', possible loss of data
c:\users\dell\desktop\练习\16.c(22) : warning C4244: '=' : conversion from 'double ' to 'long ', possible loss of data
执行 cl.exe 时出错.

16.obj - 1 error(s), 0 warning(s)



我写的switch程序:

#include<stdio.h>
main()
{
int I,s;
printf("当月利润:");
scanf("%d",&I);
switch(I)
{
case 0:s=0.1*I;break;
case 1:s=0.1*100000+0.075*(I-100000);break;
case 2:
case 3:s=0.1*200000+0.05*(I-200000);break;
case 4:
case 5:s=0.1*400000+0.03*(I-400000);break;
case 6:s=0.1*600000+0.015*(I-600000);break;
case 7:
case 8:
case 9:s=0.1*600000+0.015*(I-600000);break;
default:s=0.1*1000000+0.001*(I-1000000);break;
}
printf("s=%d\n",s);
}
这个可以运行,但算出的结果和实际答案不符。
关于switch,我有个不理解的地方,题目中给出的范围,如200000<=I<400000,应该写到case2还是case4后面??
我是自学C,糊涂的地方望大家指导,谢谢各位大侠了!!!
搜索更多相关主题的帖子: 编程 字母 include 
2011-08-17 20:32
北辰烟云
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-8-17
收藏
得分:0 
在线等。。。

嘴要甜   心要狠  ~
2011-08-17 20:32
北辰烟云
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-8-17
收藏
得分:0 
回复 2楼 北辰烟云
3Q~我先试试

嘴要甜   心要狠  ~
2011-08-17 20:59
北辰烟云
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-8-17
收藏
得分:0 
回复 6楼 QQ346957135
我直接把&&给忘了。。。这个错误好低级
3Q So much   

嘴要甜   心要狠  ~
2011-08-17 22:30
北辰烟云
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-8-17
收藏
得分:0 
回复 15楼 biancku
第二题用if写的程序有错误:

--------------------Configuration: 1 - Win32 Debug--------------------
Compiling...
1.c
C:\Users\dell\Desktop\新建文件夹\1.c(8) : error C2059: syntax error : 'type'
C:\Users\dell\Desktop\新建文件夹\1.c(10) : error C2059: syntax error : 'type'
C:\Users\dell\Desktop\新建文件夹\1.c(12) : error C2059: syntax error : 'type'
C:\Users\dell\Desktop\新建文件夹\1.c(14) : error C2059: syntax error : 'type'
C:\Users\dell\Desktop\新建文件夹\1.c(16) : error C2059: syntax error : 'type'
C:\Users\dell\Desktop\新建文件夹\1.c(18) : error C2059: syntax error : 'type'
执行 cl.exe 时出错.

1.exe - 1 error(s), 0 warning(s)

嘴要甜   心要狠  ~
2011-08-17 22:41
北辰烟云
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-8-17
收藏
得分:0 
回复 15楼 biancku
最后一个switch有一个错误:

--------------------Configuration: 2 - Win32 Debug--------------------
Compiling...
2.c
c:\users\dell\desktop\新建文件夹\2.c(9) : error C2059: syntax error : 'type'
c:\users\dell\desktop\新建文件夹\2.c(10) : error C2059: syntax error : 'type'
c:\users\dell\desktop\新建文件夹\2.c(12) : error C2059: syntax error : 'type'
c:\users\dell\desktop\新建文件夹\2.c(14) : error C2059: syntax error : 'type'
c:\users\dell\desktop\新建文件夹\2.c(18) : error C2059: syntax error : 'type'
c:\users\dell\desktop\新建文件夹\2.c(19) : error C2059: syntax error : 'type'
执行 cl.exe 时出错.

2.obj - 1 error(s), 0 warning(s)

嘴要甜   心要狠  ~
2011-08-17 22:57
快速回复:请各位高手帮小妹看下编程哪里出错了??自学碰壁很头疼!!拜托了~~~
数据加载中...
 
   



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

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