鱼C论坛

 找回密码
 立即注册
查看: 3638|回复: 18

一个题目 C语言的 搞不懂 麻烦大虾看看

[复制链接]
发表于 2012-6-9 09:43:26 | 显示全部楼层 |阅读模式
4鱼币
  1. #include <stdio.h>

  2. int main()

  3. {
  4. int a,b;

  5. double x,y;

  6. char c1,c2;

  7. scanf("a=%db=%d",&a,&b);

  8. scanf("%f%e",&x,&y);

  9. scanf("%c%c",&c1,&c2);

  10. return 0;
  11. }
复制代码

要求   使a=3,b=7,x=8.5,y=71.82,c1='A',c2='a'        在键盘上如何输入啊??



搞了半天输入不了    求指教

最佳答案

查看完整内容

输入格式是根据你代码来的,我第一个程序是 scanf("%d%d",&a,&b); scanf("%f%e\n",&x,&y); scanf("%c%c",&c1,&c2); 所以是先输入2个整型数据(即你想输入的a=3和b=7)(其中scanf里面的%d代表的是输入整型,%f代表输入浮点型,%e代表指数型,%c代表字符型),再输入x=8.5,y=71.82。最后输入c1='A',c2='a'。 具体调试输入方法如下: 第一种:3空格7回车8.5空格71.82回车Aa回车 第二种:3回车7回车8.5回车71.82回车Aa回车 ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-6-9 09:43:27 | 显示全部楼层

输入格式是根据你代码来的,我第一个程序是
scanf("%d%d",&a,&b);

scanf("%f%e\n",&x,&y);

scanf("%c%c",&c1,&c2);
所以是先输入2个整型数据(即你想输入的a=3和b=7)(其中scanf里面的%d代表的是输入整型,%f代表输入浮点型,%e代表指数型,%c代表字符型),再输入x=8.5,y=71.82。最后输入c1='A',c2='a'。
具体调试输入方法如下:
第一种:3空格7回车8.5空格71.82回车Aa回车
第二种:3回车7回车8.5回车71.82回车Aa回车
另外补充一下,当你scanf(%c%c,&c1,&c2);的时候,如果你代码里的%c和%c中间隔了一个空格的话,那么你调试的时候也要在两字符间加上一个空格,例如A空格a。还是不懂的话可以再去看看小甲鱼老湿的C语言程序设计的前面的视频(貌似在讲数据类型时讲的)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-6-9 09:57:48 | 显示全部楼层
你这里是直接输入,你调试运行时就输入进去就可以了,如果你想看你输入得对不对,可以加入这一句:
#include <stdio.h>

int main()

{
int a,b;

double x,y;

char c1,c2;

scanf("a=%db=%d",&a,&b);

scanf("%f%e",&x,&y);

scanf("%c%c",&c1,&c2);

printf("a=%d  b=%d  x=%f   y=%e  c1=%c  c2=%c  \n",a,b,x,y,c1,c2);

return 0;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-6-9 09:59:12 | 显示全部楼层
第12句   scanf("%d,%d",&a,&b);
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-6-9 10:14:33 | 显示全部楼层
#include <stdio.h>

void main()
{
        int a, b;
        double x, y;
        char c1, c2;

        printf("a=?,b=?\n");
        scanf("%d%d",&a,&b);

        printf("x=?,y=?\n");
        scanf("%lf%lf",&x ,&y);
       
        printf("c1=?,c2=?");
        scanf(" %c %c",&c1,&c2);

        printf("a=%d\tb=%d\tx=%f\ty=%f\tc1=%c\tc2=%c\n", a, b, x, y, c1, c2);
}

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-6-9 10:17:08 | 显示全部楼层
Yara 发表于 2012-6-9 09:57
你这里是直接输入,你调试运行时就输入进去就可以了,如果你想看你输入得对不对,可以加入这一句:
#inclu ...

明白了一点  就是加了那句就有输出即屏幕有显示是吧

但是我还是输入不了    数字错了       麻烦你自己打下咯   

然后把那个原原本本复制来好吧       麻烦了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-6-9 10:48:58 | 显示全部楼层
zty 发表于 2012-6-9 10:17
明白了一点  就是加了那句就有输出即屏幕有显示是吧

但是我还是输入不了    数字错了        ...

要照着scanf的格式输,scanf里面有的东西都要输进去。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-6-9 11:12:27 | 显示全部楼层
zty 发表于 2012-6-9 10:17
明白了一点  就是加了那句就有输出即屏幕有显示是吧

但是我还是输入不了    数字错了        ...

我刚才调试了你那个代码,你double x,y要改为float型,改进后的代码如下:
#include <stdio.h>

void main()

{
int a,b;

float x,y;

char c1,c2;

scanf("%d%d",&a,&b);

scanf("%f%e\n",&x,&y);

scanf("%c%c",&c1,&c2);

printf("a=%d  b=%d  x=%f   y=%e  c1=%c  c2=%c  \n",a,b,x,y,c1,c2);
}


我在你基础上再加入了判断功能:
#include <stdio.h>

void main()

{
        int a,b;
       
        float x,y;
       
        char c1,c2;

        scanf("%c %c",&c1,&c2);

        while(c1!='A' || c2!='a')
        {
                printf("input error,re-input!!\n");
                scanf("%c %c",&c1,&c2);
        }
       
        scanf("%d %d",&a,&b);
       
        while(3!=a || 7!=b)
        {
                printf("input error,re-input!!\n");
                scanf("%d %d",&a,&b);
        }
       
       
        scanf("%f %e",&x,&y);
       
       
        while((float)8.5!=x || (float)71.82!=y)
        {
                printf("input error,re-input!!\n");
                scanf("%f %e",&x,&y);
        }
       
        printf("a=%d  b=%d  x=%f   y=%e  c1=%c  c2=%c  \n",a,b,x,y,c1,c2);

}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-6-9 13:46:19 | 显示全部楼层
唉,看来你比我强多了,我连这个程序都看得迷迷糊糊的。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-6-9 14:04:06 | 显示全部楼层
本帖最后由 东风异客 于 2012-6-12 15:59 编辑

同上上楼 double要改为float  %f是输入float型的,%fl才是double,
程序:

#include <stdio.h>

int main()
{
         int a,b;
        float x,y;
        char c1,c2;
        scanf("a=%db=%d",&a,&b);
        scanf("%f%e",&x,&y);
        scanf("%c%c",&c1,&c2);
        printf("a=%d,b=%d,x=%f,y=%e,c1=%c,c2=%c",a,b,x,y,c1,c2);
        getch();
        return 0;
}
输入方式及结果:

                               
登录/注册后可看大图
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-6-9 14:43:47 | 显示全部楼层
不错。。不过在VC环境下float与double型不都可以用%f的吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-6-9 14:52:25 | 显示全部楼层
东风异客 发表于 2012-6-9 14:04
同上上楼 double要改为float  %f是输入float型的,%fl才是double,
程序:


不错。。不过在VC环境下float与double型不都可以用%f的吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-6-9 15:31:38 | 显示全部楼层
|▍控制欲 发表于 2012-6-9 14:52
不错。。不过在VC环境下float与double型不都可以用%f的吗?

都可以用的是printf吧,scanf输入的  格式码及长度修饰符所指定的类型  必须   与地址参数的类型一致。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-6-9 17:23:06 | 显示全部楼层
东风异客 发表于 2012-6-9 15:31
都可以用的是printf吧,scanf输入的  格式码及长度修饰符所指定的类型  必须   与地址参数的类型一致。

受教了。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-6-12 10:33:21 | 显示全部楼层
Yara 发表于 2012-6-9 11:12
我刚才调试了你那个代码,你double x,y要改为float型,改进后的代码如下:
#include

{:1_1:}这里第一个程序还可以   第二个 先不研究
但是请问你在执行第一个程序的时候是怎样输入的   我要那个啊输入的是什么啊怎么输入啊   结果要保证哦
我就是不知道怎么输入东东啊      还有SCANF 那个也受教了 :handshake
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-6-12 10:38:36 | 显示全部楼层
东风异客 发表于 2012-6-9 14:04
同上上楼 double要改为float  %f是输入float型的,%fl才是double,
程序:

:'(大哥 你的图片只能百度内部交流啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-6-12 12:24:48 | 显示全部楼层
本帖最后由 东风异客 于 2012-6-12 15:59 编辑
zty 发表于 2012-6-12 10:38
大哥 你的图片只能百度内部交流啊

发图片了。。。

                               
登录/注册后可看大图
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-6-12 12:26:24 | 显示全部楼层
本帖最后由 东风异客 于 2012-6-12 15:59 编辑

如果再挂直接贴
输入:
a=3b=7(空格)8.5(空格)71.82Aa

                               
登录/注册后可看大图

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-6-12 16:48:35 | 显示全部楼层
终于把它干掉了      由衷的感谢为我提供帮助的朋友     {:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-29 00:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表