| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1022 人关注过本帖
标题:自学,求高手点拨下面程序哪里出错了!
取消只看楼主 加入收藏
馨馨泡沫
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2014-12-14
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:0 
自学,求高手点拨下面程序哪里出错了!
题目如下:
无线电台的RS制信号报告是由三两个部分组成的:
R(Readability) 信号可辨度即清晰度.
S(Strength)    信号强度即大小.
其中R位于报告第一位,共分5级,用1—5数字表示.
1---Unreadable
2---Barely readable, occasional words distinguishable
3---Readable with considerable difficulty
4---Readable with practically no difficulty
5---Perfectly readable
报告第二位是S,共分九个级别,用1—9中的一位数字表示
1---Faint signals, barely perceptible
2---Very weak signals
3---Weak signals
4---Fair signals
5---Fairly good signals
6---Good signals
7---Moderately strong signals
8---Strong signals
9---Extremely strong signals
现在,你的程序要读入一个信号报告的数字,然后输出对应的含义。如读到59,则输出:
Extremely strong signals, perfectly readable.
输入格式:
一个整数,信号报告。整数的十位部分表示可辨度,个位部分表示强度。输入的整数范围是[11,59],这个范围外的数字不可能出现在测试数据中。

输出格式:
一句话,表示这个信号报告的意义。按照题目中的文字,先输出表示强度的文字,跟上逗号和空格,然后是表示可辨度的文字,跟上句号。注意可辨度的句子的第一个字母是小写的。注意这里的标点符号都是英文的。

输入样例:
33

输出样例:
Weak signals, readable with considerable difficulty.

下面是我的程序:
程序代码:
#include <stdio.h>
main()
{
    int R,S;
    int N;
    char n1,n2;
    scanf("%d",&N);
    R=N%10;
    S=N-S;
    if(R=1)
    {
        n1="Unreadable";
    }
    else if(R=2)
    {
        n1="Barely readable,occasional words distinguishable";
    }
    else if(R=3)
    {
        n1="Readable with considerable difficulty";
    }
    else if(R=4)
    {
        n1="Readable with pratically no difficulty";
    }
    else if(R=5)
    {
        n1="Perfectly readable";
    }
    if(S=1)
    {
        n2="Faint signals,barely perceptible";
    }
    else if(S=2)
    {
        n2="Very weak signals";
    }
    else if(S=3)
    {
        n2="Weak signals";
    }
    else if(S=4)
    {
        n2="Fair signals";
    }
    else if(S=5)
    {
        n2="Fairly good signals";
    }
    else if(S=6)
    {
        n2="Good signals";
    }
    else if(S=7)
    {
        n2="Moderately strong signals";
    }
    else if(S=8)
    {
        n2="Strong signals";
    }
    else if(S=9)
    {
        n2="Extremely strong signals";
    }
    printf("%s,%s",n2,n1);
}
编译后出现warning如下:
[Warning] assignment makes integer from pointer without a cast [enabled by default]
全部n1和n2都出现上述warning
运行后无法得到结果,出错
请问上述程序出错在哪里?我觉得我的思路是对的,是字符串变量的赋值出错了?
另外,我就是想要用if语句来解决问题,不想用开关语句或者数组之类的。
求高手指教,谢谢!
2014-12-14 16:03
快速回复:自学,求高手点拨下面程序哪里出错了!
数据加载中...
 
   



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

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