Facebook Sharer
选择您要替换的背景颜色:
【农历新年】背景图片:
个性化设定
 注册  找回密码
123
返回列表 发新帖
楼主: K_POP
打印 上一主题 下一主题

Assignment 的问题很kek水...大大帮忙...

[复制链接]

14

主题

1

好友

660

积分

青铜长老

JBT认证K-POP爱好者

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

21#
发表于 2013-3-22 11:15 PM |只看该作者
black7white 发表于 2013-3-22 10:22 PM
你的问题好长

关于return的,那么void 的function不用return,不就代表没有交还给公司咯?怎么行呢?

关于argument,如果我叫user输入四个号码,可是我只用两个号码来做那个function呢?compiler怎知道要用哪个号码?


回复

使用道具 举报

142

主题

2

好友

7827

积分

百变名嘴

Rank: 13Rank: 13Rank: 13Rank: 13

22#
发表于 2013-3-22 11:40 PM |只看该作者
K_POP 发表于 2013-3-22 11:15 PM
关于return的,那么void 的function不用return,不就代表没有交还给公司咯?怎么行呢?

关于argument, ...

关于return的,那么void 的function不用return,不就代表没有交还给公司咯?怎么行呢?

void没交还,所以可以选择直接printf在void function
int function是还回去才printf,两个拿出来的效果会是一样


但如何选择function呢?就看情况。可能我丢去int function了不是我最后要的答案,return回去还要再算过(再加别的号码还是别的东西)
如果比较直接的就选void





关于argument,如果我叫user输入四个号码,可是我只用两个号码来做那个function呢?compiler怎知道要用哪个号码?

所以在main那边你要那个号码的名,int sum(num1,num2)
至于在int function你要用别的int sum(int haha,int tata) 都可以


回复

使用道具 举报

14

主题

1

好友

660

积分

青铜长老

JBT认证K-POP爱好者

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

23#
发表于 2013-3-23 09:28 AM |只看该作者
black7white 发表于 2013-3-22 11:40 PM
关于return的,那么void 的function不用return,不就代表没有交还给公司咯?怎么行呢?

void没交还,所 ...

有点明白了,

那么return ,有时return 1, 有时return n, 我要怎样知道我该写什么??

#include <stdio.h>
int input();
int main(){
    int num,i,flag;
    num=input();     /* No argument is passed to input() */
    for(i=2,flag=i;i<=num/2;++i,flag=i){
    if(num%i==0){
        printf("%d is not prime",num);
        ++flag;
        break;
    }
    }
    if(flag==i)
        printf("%d is prime",num);
    return 0;
}
int input(){   /* Integer value is returned from input() to calling function */
    int n;
    printf("Enter positive enter to check:\n");
    scanf("%d",&n);
    return n;
}

#include <stdio.h>
int check(int n);
int main(){
    int num,num_check=0;
    printf("Enter positive enter to check:\n");
    scanf("%d",&num);
    num_check=check(num); /* Argument num is passed to check() function. */
    if(num_check==1)
       printf("%d in not prime",num);
    else
       printf("%d is prime",num);
    return 0;
}
int check(int n){   
/* Integer value is returned from function check() */
    int i;
    for(i=2;i<=n/2;++i){
    if(n%i==0)
        return 1;
}
   return 0;
}


这两个,一个这样一个那样....我不知道要怎样~



回复

使用道具 举报

142

主题

2

好友

7827

积分

百变名嘴

Rank: 13Rank: 13Rank: 13Rank: 13

24#
发表于 2013-3-23 10:20 AM |只看该作者
K_POP 发表于 2013-3-23 09:28 AM
有点明白了,

那么return ,有时return 1, 有时return n, 我要怎样知道我该写什么??

你要多点读书

第一个放return n是因为n 是input
拿input回去main来继续,不然main都没有input

第二个
if(n%i==0)
return 1;

i是2,如果n input %2==0,代表可能是2,4,6,8...
我暂时放一个return 1做标记
回到main那边我就
if(num_check==1)
printf("%d in not prime",num);

2,4,6,8那些都不是prime

你要return 888
if(num_check==888)
printf("%d in not prime",num);
也可以


回复

使用道具 举报

14

主题

1

好友

660

积分

青铜长老

JBT认证K-POP爱好者

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

25#
发表于 2013-3-23 09:35 PM |只看该作者
black7white 发表于 2013-3-23 10:20 AM
你要多点读书

第一个放return n是因为n 是input

不好意思, 不是不要读书, 而是读了也不明白...

lecture note 写得很普遍...
由于还是pre-u, 所以学的东西都是很毛皮....所以没有所谓的课本...
上网找资料....还是看不懂

这些东西原本就是一边做一边明白的嘛~

所以...多亏你....

我今天一整天连戏都不看, 一直做...

现在明白到完了...

但是问题随之而来, 我的code完全没问题....

但是run的时候, 每一次到了输入weight的地方, 一输入后,就会变白色...

然后pop up 写说 has stop working ...然后两个选择" search solution from internet and close " 和 "Close program "

到底是怎么回事....换了几台电脑也是一样...


回复

使用道具 举报

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

JBTALKS.CC |联系我们 |隐私政策 |Share

GMT+8, 2025-1-13 04:50 PM , Processed in 0.097838 second(s), 20 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

Ultra High-performance Dedicated Server powered by iCore Technology Sdn. Bhd.
Domain Registration | Web Hosting | Email Hosting | Forum Hosting | ECShop Hosting | Dedicated Server | Colocation Services
本论坛言论纯属发表者个人意见,与本论坛立场无关
Copyright © 2003-2012 JBTALKS.CC All Rights Reserved
合作联盟网站:
JBTALKS 马来西亚中文论坛 | JBTALKS我的空间 | ICORE TECHNOLOGY SDN. BHD.
回顶部