小白 求助!!!

niko22 2016-10-31 09:41:43
#include<stdio.h>
main()
{
int type1,type2;
scanf("%d %d",&type1,&type2);
switch(type1){
case 1:
printf("Faint signals, barely perceptible,");
break;
case 2:
printf("Very weak signals,");
break;
case 3:
printf("Weak signals,");
break;
case 4:
printf("Fair signals,");
break;
case 5:
printf("Fairly good signals,");
break;
case 6:
printf("Good signals,");
break;
case 7:
printf("Moderately strong signals,");
break;
case 8:
printf("Strong signals,");
break;
case 9:
printf("Extremely strong signals,");
break;

}
switch(type2){
case 1:
printf("unreadable.");
break;
case 2:
printf("barely readable, occasional words distinguishable.");
break;
case 3:
printf("readable with considerable difficulty.");
break;
case 4:
printf("readable with practically no difficulty.");
break;
case 5:
printf("perfectly readable.");
break;
}
}
这个原题要求需要直接输入两个数 例如33
可是这个运行之后只能输入一个数字之后按回车再输入另一个数字
例如3
3
求助大神
...全文
176 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2016-11-01
  • 打赏
  • 举报
回复
输入两个整数,随便用什么间隔: 仅供参考:
#include <stdio.h>
int main()
{
    int a,b,n,v,r,k;
    char buf[80];
    char *p;

    k=0;
    r=EOF;
    while (1) {
        if (EOF==r) {
            fgets(buf,80,stdin);
            p=buf;
        }
        while (1) {
            r=sscanf(p,"%d%n",&v,&n);
            if (1==r) {k++;break;}
            if (EOF==r) break;
            p++;
        }
        if (EOF==r) continue;
        p+=n;
        if (1==k) a=v;
        if (2==k) {
            b=v;
            break;
        }
    }
    printf("%d,%d\n",a,b);
    return 0;
}
小灸舞 2016-11-01
  • 打赏
  • 举报
回复
你这个原题要求需要直接输入两个数,这两个数难道不需要空格分开一下?
是直接并在一起输入的?
paschen 2016-10-31
  • 打赏
  • 举报
回复

#include<stdio.h>
void main()
{
	char type1,type2;
	scanf("%c%c",&type1,&type2);
	switch(type1){
	case '1':
		printf("Faint signals, barely perceptible,");
		break;
	case '2':
		printf("Very weak signals,");
		break;
	case '3':
		printf("Weak signals,");
		break;
	case '4':
		printf("Fair signals,");
		break;
	case '5':
		printf("Fairly good signals,");
		break;
	case '6':
		printf("Good signals,");
		break;
	case '7':
		printf("Moderately strong signals,");
		break;
	case '8':
		printf("Strong signals,");
		break;
	case '9':
		printf("Extremely strong signals,");
		break;

	}
	switch(type2){
	case '1':
		printf("unreadable.");
		break;
	case '2':
		printf("barely readable, occasional words distinguishable.");
		break;
	case '3':
		printf("readable with considerable difficulty.");
		break;
	case '4':
		printf("readable with practically no difficulty.");
		break;
	case '5':
		printf("perfectly readable.");
		break;
	}
}
ck2333 2016-10-31
  • 打赏
  • 举报
回复
scanf的输入结束标志有三种,空格,回车键,tab键,所以你这里可以3 3然后再按回车,或者3(tab键)3然后再按回车,或者就是你说的3回车3这种形式。

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧