| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 609 人关注过本帖
标题:请给我看看吧!!!!不知道哪里出错了!
只看楼主 加入收藏
zc1992312
Rank: 2
等 级:论坛游民
帖 子:43
专家分:12
注 册:2013-3-20
结帖率:57.14%
收藏
已结贴  问题点数:20 回复次数:8 
请给我看看吧!!!!不知道哪里出错了!


5.    判断用户输入的数据是否是素数,并在屏幕显示结果。提示用户是否继续输入(y/n),让用户选择,若用户选y,则继续,直至用户选择n。#include <stdio.h>
#include <math.h>
int h1(int num);
char h2(char choose);
 main()
 {
 int num;
 char choose;
 printf("你输入的数字是: ");
 scanf("%d",&num);
  h1(num);
  printf("请选择 y/n: ");
  scanf("%c",&choose);
  h2(choose);
 }
 int h1(int num)
 {
     int t, i;
      t=sqrt((float) num);
 for(i=2;i<=t;i++)
 if(num%i==0) break;
  if(i<=t)
     printf("%d 不是素数\n",num);
 else
     printf("%d 是素数\n",num);
 
 }
char h2(char choose)
 {
 char y,n,num;
  if(choose==y)
  h1(num);
  if(choose==n)
    printf("结束!");
 }
搜索更多相关主题的帖子: include 用户 
2013-05-21 10:34
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:20 
还用这么多行的代码 又弄好几个函数

DO IT YOURSELF !
2013-05-21 10:35
zc1992312
Rank: 2
等 级:论坛游民
帖 子:43
专家分:12
注 册:2013-3-20
收藏
得分:0 
回复 2楼 wp231957
本来就只有一个。
 然后想到要选择y/n 就想到函数了 、
2013-05-21 10:38
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
y n 用循环就可以了

DO IT YOURSELF !
2013-05-21 10:44
zc1992312
Rank: 2
等 级:论坛游民
帖 子:43
专家分:12
注 册:2013-3-20
收藏
得分:0 
回复 4楼 wp231957
请问下,怎么循环呢?
2013-05-21 10:49
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
程序代码:
#include <stdio.h>
#include <math.h>
bool h1(double num);  

int main() 
{
    int num;
next:
    printf("你输入的数字是:(输入0时,退出) ");
    scanf("%d",&num);
    if(num==0) return 0;
    if (h1(num)) printf("%d is 素数\n",num); else printf("%d not 素数\n",num);
    goto next;
    return 0;
}
bool h1(double num)
{
    if((int)num<2) return false;
    int t, i;
    t=(int)sqrt(num);
    for(i=2;i<=t;i++)
        if((int)num%i==0) break;
    if(i<=t)
        return false;
    else
        return true;

}
尽量的保留了你原来的意愿

DO IT YOURSELF !
2013-05-21 11:02
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
6楼没考虑输入 yn  简单的修改一下即可

[ 本帖最后由 wp231957 于 2013-5-21 11:10 编辑 ]

DO IT YOURSELF !
2013-05-21 11:03
zc1992312
Rank: 2
等 级:论坛游民
帖 子:43
专家分:12
注 册:2013-3-20
收藏
得分:0 
回复 6楼 wp231957
非常谢谢!!!
2013-05-21 11:17
我叫沃恩
Rank: 12Rank: 12Rank: 12
来 自:Asia
等 级:贵宾
威 望:10
帖 子:1234
专家分:3865
注 册:2013-3-29
收藏
得分:0 
程序代码:
#include<stdio.h>
#include<math.h>
int f(int a);
int main(void)
{
    int b;
    char m;
    while(1){
    printf("你输入的数字是:");
    scanf("%d",&b);
    f(b);
    printf("请选择y/n: ");
    getchar();
    scanf("%c",&m);
    if(m=='n')
        break;
    }

}
int f(int a)
{
    int i;
    for(i=2;i*i<=a;i++)
        if(a%i==0)
          break;
    if(a%i!=0)
        printf("%d是素数!\n",a);
    else printf("%d不是素数!\n",a);
    //return 0;
}

注意回车符的产生的影响!

因为我是菜鸟,所以应该被骂! 细节+坚持=成功!
2013-05-21 12:55
快速回复:请给我看看吧!!!!不知道哪里出错了!
数据加载中...
 
   



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

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