标题:求求大佬。不是很会
只看楼主
西瓜瓤
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2022-5-28
结帖率:14.29%
已结贴  问题点数:8 回复次数:9 
求求大佬。不是很会
编写代码,请设计一个函数fun(),它的功能是:判断x是否是素数。若x是素数,返回1;若不是素数,返回0。x的值由主函数从键盘读入。
搜索更多相关主题的帖子: 返回 素数 键盘 读入 主函数 
2022-05-31 19:56
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:3 
回复 楼主 西瓜瓤
这是狠基础的题目,所以应该锻炼自己动手的能力
你是不会写函数呢还是不会判断一个数是否是素数
或者干脆连素数是神马也不清楚
还是从键盘接收数据不会??

DO IT YOURSELF !
2022-05-31 20:36
追梦人zmrghy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:399
专家分:190
注 册:2021-4-9
得分:3 
程序代码:
#include <iostream>

using namespace std;

bool sushu(int i)
{
    if(i==1 || i==2)
        return 1;
    for(int j =2; j<=i/2; j++)
    {
        if(i%j == 0)
            return 0;
    }
    return 1;
}

int main()
{
    int x;
    cout<<"请输入一个数,判断是不是素数" << endl;
    cin >> x;
    cout << x;
    if(sushu(x))
        cout<<"是素数" << endl;
    else
        cout<<"不是素数" << endl;
    return 0;
}


2022-05-31 21:05
追梦人zmrghy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:399
专家分:190
注 册:2021-4-9
得分:0 
回复 2楼 wp231957
肝火有点大呀!!!
送你杯菊花茶。。。
2022-05-31 21:07
西瓜瓤
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2022-5-28
得分:0 
回复 2楼 wp231957
本来是函数应用对素数不是很会列数学式子
#include <stdio.h> //""
int main()
{
    int m;
    int i;
    scanf("%d",&m);
    for(i=2;i<=m/2;i++){
        if(m%i==0){
            break;
        }
    }
   
    if(i>m/2){
        printf("%d是素数!\n",m);
    }
    else{
        printf("%d不是素数!\n",m);
    }
   
    return 0;
}
本来是这么想的但是没用到函数
2022-05-31 22:05
西瓜瓤
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2022-5-28
得分:0 
回复 3楼 追梦人zmrghy
谢谢你,但有些用法过于高级,小白还不是很懂打算先写简单一点的写法,谢谢大佬
2022-05-31 22:26
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
回复 5楼 西瓜瓤
素数不是这样判断的,要使用标志变量
程序代码:
#include <stdio.h> 
int main()
{
    int m;
    int flag=0;
    scanf("%d",&m);
    for(int i=2;i<=m/2;i++){
        if(m%i==0){
            flag=1;
            break;
        }
    }
   
    if(!flag){
        printf("%d是素数!\n",m);
    }
    else{
        printf("%d不是素数!\n",m);
    }
   
    return 0;
}

DO IT YOURSELF !
2022-06-01 07:43
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
回复 6楼 西瓜瓤
然后就把主体代码扒出来  单独提到函数里
程序代码:
#include <stdio.h> 
int sushu(int m)
{
  int flag=0;
  for(int i=2;i<=m/2;i++)
  {
    if(m%i==0)
    {
        flag=1;
        break;
    }
  }
  return flag;
}

int main()
{
    int m;
    int flag=0;
    scanf("%d",&m);
    flag=sushu(m);
    if(!flag){
        printf("%d是素数!\n",m);
    }
    else{
        printf("%d不是素数!\n",m);
    }
   
    return 0;
}

DO IT YOURSELF !
2022-06-01 07:46
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
回复 6楼 西瓜瓤
要是这都算难   那也没啥说得了,以后学到结构体  单链表  双链表    你就找个没人的地方哭吧

DO IT YOURSELF !
2022-06-01 07:48
do8do8do8
Rank: 10Rank: 10Rank: 10
来 自:沙滩
等 级:贵宾
威 望:17
帖 子:366
专家分:1845
注 册:2010-7-2
得分:3 
捡个漏~~~~~~~~~~~~~~~~~~
本来是函数应用对素数不是很会列数学式子
#include <stdio.h> //""
int main()
{
    int m;
    int i;
   
    for(i=2;i<=m/2;i++){
        if(m%i==0){
            break;
        }
    }
   
    if(i>m/2){
        printf("%d是素数!\n",m);
    }
    else{
        printf("%d不是素数!\n",m);
    }
   
    return 0;
}
本来是这么想的但是没用到函数------针对此句
--------------
#include <stdio.h> //""
int fun(int m)
{
   
    int i;
    //scanf("%d",&m);
    for(i=2;i<=m/2;i++){
        if(m%i==0){
            break;
        }
    }
   
    if(i>m/2){
       return 1;
       // printf("%d是素数!\n",m);
    }
    else{
       return 0;
       // printf("%d不是素数!\n",m);
    }
   
}
int main()
{
    int m;
    scanf("%d",&m);
    if(fun(m))
      printf("%d是素数!\n",m);
    else
      printf("%d不是素数!\n",m);
   return 0;
}

学C语言从底层开始,学编程从问题开始,一日学会C!!!
2022-06-01 08:33



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-509220-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.514791 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved