搜索
查看: 2117|回复: 6
打印 上一主题 下一主题

请问为什么输入不了各学科的学分?求大神帮忙

[复制链接]
跳转到指定楼层
楼主
发表于 2013-3-21 10:32:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
#include <stdio.h>
#include <stdlib.h>
int main()
{
int grade1,grade2,c;
    float xf1,xf2,jd,jd1,jd2;
    printf("请依次输入各学科的成绩:");
    scanf("%d,%d",grade1,grade2);
    printf("请依次输入各学科的学分:");
    scanf("%f,%f",xf1,xf2);
    if(grade1<60) c=0;
    else c=grade1/5;
    switch(c)
   {
    case 0:jd1=0;break;
    case 12:jd1=1.0;break;
    case 13:jd1=1.7;break;
    case 14:jd1=2.2;break;
    case 15:jd1=2.7;break;
    case 16:jd1=3.2;break;
    case 17:jd1=3.6;break;
    case 18:jd1=3.8;break;
    case 19:jd1=4.0;break;
    case 20:jd1=4.0;break;
   }
    if(grade2<60) c=0;
    else c=grade2/5;
    switch(c)
   {
    case 0:jd2=0;break;
    case 12:jd2=1.0;break;
    case 13:jd2=1.7;break;
    case 14:jd2=2.2;break;
    case 15:jd2=2.7;break;
    case 16:jd2=3.2;break;
    case 17:jd2=3.6;break;
    case 18:jd2=3.8;break;
    case 19:jd2=4.0;break;
    case 20:jd2=4.0;break;
   }
   jd=xf1/(xf1+xf2)*jd1+xf2/(xf1+xf2)*jd2;
   printf("你的绩点是 %f\n",jd);
system("pause");
return 0;
}

最佳答案

查看完整内容

scanf函数用错了,应该是 scanf("%d,%d",&grade1,&grade2); scanf("%f,%f",&xf1,&xf2); 也就是要在变量名前加&符号.
沙发
发表于 2013-3-21 10:32:19 | 只看该作者
scanf函数用错了,应该是
scanf("%d,%d",&grade1,&grade2);
scanf("%f,%f",&xf1,&xf2);
也就是要在变量名前加&符号.
板凳
发表于 2013-3-21 20:47:55 | 只看该作者
楼主。。你有没定义各科输入的顺序啊。。。。要不怎么 排列或知道那科先输入啊
地板
发表于 2013-3-22 14:54:32 | 只看该作者
scanf("%d,%d",grade1,grade2);
scanf("格式控制",&变量);
5#
 楼主| 发表于 2013-3-23 21:36:32 | 只看该作者
Smallbee 发表于 2013-3-21 11:13
scanf函数用错了,应该是
scanf("%d,%d",&grade1,&grade2);
scanf("%f,%f",&xf1,&xf2);

谢谢,已经弄好了,马虎了
6#
 楼主| 发表于 2013-3-23 21:37:02 | 只看该作者
ai芥末 发表于 2013-3-22 14:54
scanf("%d,%d",grade1,grade2);
scanf("格式控制",&变量);

谢谢,弄好了
7#
 楼主| 发表于 2013-3-23 21:38:15 | 只看该作者
gnow 发表于 2013-3-21 20:47
楼主。。你有没定义各科输入的顺序啊。。。。要不怎么 排列或知道那科先输入啊

确实没有定义,应该再细致一点
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表