| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1561 人关注过本帖
标题:新人,求问
只看楼主 加入收藏
a1246584779
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2016-7-6
收藏
 问题点数:0 回复次数:5 
新人,求问
#include<stdio.h>
void main()
{
    int m,n;
    int i=0;
    printf("输入m:");
    scanf_s("%d",&m);
    for(n=2;n<=m-1;n++)
    { if(m%n==0)
     {   
        i=1;
        break;
        
        }
    }
    if(i==1)
    {
      printf("m不是素数");
    }
    else
    {
      printf("m是素数");
    }
   
}
这个能用来判断m是素数吗,有错吗,自己写的
2016-07-06 21:50
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
收藏
得分:0 
看了下,如果标点都对,那你的代码能实现你的目的。
2016-07-06 22:25
wanglianyi1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:14
帖 子:647
专家分:2067
注 册:2015-6-18
收藏
得分:0 
在我的c-free5.0的gcc上编译有错误,好像不支持scanf_s;
  
我做如下修改就编译成功了:
程序代码:
#include<stdio.h>
int main()
{
    int m,n;
    int i=0;
    printf("输入m:");
    scanf("%d",&m);  //或者改成scanf_s("%d",&m) 试试看能不能编译通过,我查了下,好像接受数值的时候不用写第三个参数,如果成功麻烦告诉我下
    for(n=2;n<=m-1;n++)
    { if(m%n==0)
     {    
        i=1;
        break;
        
        }
    }
    if(i==1)
    {
      printf("m=%d不是素数",m);
    }
    else
    {
      printf("m=%d是素数",m);
    }
   return 0; 
}


[此贴子已经被作者于2016-7-6 23:21编辑过]

2016-07-06 22:51
lanke711
Rank: 9Rank: 9Rank: 9
来 自:流浪在天国之路
等 级:蜘蛛侠
威 望:7
帖 子:317
专家分:1437
注 册:2015-7-16
收藏
得分:0 
scanf_s 是VC2005/2008开始提供的,目的是为了防止访问越界。
在输入字符或字符串时,就需要输入第3个参数值
如char a[20];
scnaf_s("%s",a,20);
如果不输入第三个参数,它可能会编译不通过。
scanf_s 输入int类型不需要写入第三个参数值。。。
如:
int a;
scanf_s("%d",&a);

如果要在gcc或者vc6.0调试,需要把scanf_s换成scanf。。
我个人感觉scanf_s安全性高,但是移植性还是不大灵活。在VS里写的代码,想要在vc里调试,如果里面有一个scanf_s还好,如果是好几个。。那改的手会很累。


普通人之所以普通,是因为他们普遍有一个通病,那就是认为自己永远普通。
千夫所指,我亦坚持。就算被所有人误解,我也照样守护这一切。
我们总是觉得,这些灵魂的表情,傲慢自大,目中无人,其实,真正目中无人的是我们。它们傲慢的不过是表情,而我们傲慢的却是行为!
记得,是为了忘记!
只要想着有那么一天,我就能忍受现在的每一天!
灾难并不可怕,可怕的是心中没有了希望。
你以为我在天堂,其实我正在路上。
当你觉得自己走不到终点的时候,请不要放弃。或许你的对手也是这种感觉。
2016-07-07 03:34
平常心q
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:7
帖 子:120
专家分:550
注 册:2016-3-31
收藏
得分:0 
# include <stdio.h>

int main(void)
{
    int val;
    int i;

    scanf("%d", &val);
    for (i=2; i<val; ++i)
    {
        if (0 == val%i)
            break;
    }
    if (i == val)
        printf("Yes!\n");
    else
        printf("No!\n");

    return 0;
}
2016-07-11 19:58
无贫
Rank: 1
等 级:新手上路
帖 子:5
专家分:8
注 册:2016-7-6
收藏
得分:0 
可以,没有问题
2016-07-11 22:47
快速回复:新人,求问
数据加载中...
 
   



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

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