我想让这些题一道一道出来,可是现在的情况是,输入了第一题的答案,剩下的所有题直接一起出来了。
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main()
{
int i;
int j,t;
printf("是否开始答题? 1.是 2.否 ");
scanf("%d",&i);
if(i==1)
{
t=0;
printf("1、你更喜欢吃那种水果? A、草莓 B、苹果 C、西瓜 D、菠萝 E、橘子 ");
scanf("%d ",&j);
if(j=='a'||'A')
j=1;
if(j=='b'||'B')
j=2;
if(j=='c'||'C')
j=3;
if(j=='d'||'D')
j=4;
if(j=='e'||'E')
j=5;
if(j=='f'||'F')
j=6;
switch(j)
{
case 1:
t=t+2;
break;
case 2:
t=t+3;
break;
case 3:
t=t+5;
break;
case 4:
t=t+10;
break;
case 5:
t=t+15;
break;
}
printf("2、你平时休闲经常去的地方? A、郊外 B、电影院 C、公园 D、商场分 E、酒吧 F、练歌房 ");
scanf("%d ",&j);
if(j=='a'||'A')
j=1;
if(j=='b'||'B')
j=2;
if(j=='c'||'C')
j=3;
if(j=='d'||'D')
j=4;
if(j=='e'||'E')
j=5;
if(j=='f'||'F')
j=6;
switch(j)
{
case 1:
t=t+2;
case 2:
t=t+3;
case 3:
t=t+5;
case 4:
t=t+10;
case 5:
t=t+15;
case 6:
t=t+20;
}
printf("3、你认为容易吸引你的人是? A、有才气的人 B、依赖你的人 C、优雅的人 D、善良的人 E、性情豪放的人 ");
scanf("%d",&j);
if(j=='a'||'A')
j=1;
if(j=='b'||'B')
j=2;
if(j=='c'||'C')
j=3;
if(j=='d'||'D')
j=4;
if(j=='e'||'E')
j=5;
if(j=='f'||'F')
j=6;
switch(j)
{
case 1:
t=t+2;
case 2:
t=t+3;
case 3:
t=t+5;
case 4:
t=t+10;
case 5:
t=t+15;
}
printf("最终得分:%d ",t);
printf("正在生成答案...");
Sleep(2500);
if(t>=180)
printf("意志力强,头脑冷静,有较强的领导欲,事业心强,不达目的不罢休。外表和善,内心自傲,对有利于自己的人际关系比较看重,有时显得性格急噪,咄咄逼人,得理不饶人,不利于自己时顽强抗争,不轻易认输。思维理性,对爱情和婚姻的看法很现实,对金钱的欲望一般。 ");
if(t>=140&&t<=179)
printf("聪明,性格活泼,人缘好,善于交朋友,心机较深。事业心强,渴望成功。思维较理性,崇尚爱情,但当爱情与婚姻发生冲突时会选择有利于自己的婚姻。金钱欲望强烈。 ");
if(t>=100&&t<=139)
printf("爱幻想,思维较感性,以是否与自己投缘为标准来选择朋友。性格显得较孤傲,有时较急噪,有时优柔寡断。事业心较强,喜欢有创造性的工作,不喜欢按常规办事。性格倔强,言语犀利,不善于妥协。崇尚浪漫的爱情,但想法往往不切合实际。金钱欲望一般。 ");
if(t>=70&&t<=99)
printf("好奇心强,喜欢冒险,人缘较好。事业心一般,对待工作,随遇而安,善于妥协。善于发现有趣的事情,但耐心较差,敢于冒险,但有时较胆小。渴望浪漫的爱情,但对婚姻的要求比较现实。不善理财。 ");
if(t>=40&&t<=69)
printf("性情温良,重友谊,性格塌实稳重,但有时也比较狡黠。事业心一般,对本职工作能认真对待,但对自己专业以外事物没有太大兴趣,喜欢有规律的工作和生活,不喜欢冒险,家庭观念强,比较善于理财。 ");
if(t<40)
printf("散漫,爱玩,富于幻想。聪明机灵,待人热情,爱交朋友,但对朋友没有严格的选择标准。事业心较差,更善于享受生活,意志力和耐心都较差,我行我素。有较好的异性缘,但对爱情不够坚持认真,容易妥协。没有财产观念。 ");
}
if(i==2)
exit;
}
中间省略了若干结构相同的代码
程序有几个问题
1, scanf("%d ",&j);
首先,你不能有 的
其次,看你后面的程序,你是要输入字符,这个scanf的%d是不可能得到字符的
你要把它定义成字符型.,然后用%c输入
要注意的是,你要用
scanf(" %c",&j); //前面加空格
或
fflush(stdin); //清缓冲,再输入
scanf("%c",&j);
2.
if(j=='a'||'A')
这个语法上没有问题,逻辑上是错的.,它永远成立,正确的
if(j=='a'|| j=='A')
3.switch(j)
{
case 1:
t=t+2;
你后面所有的case都少了
break
下一篇:写小女孩到天堂的生活续写急用。
上一篇:递等式计算