| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 956 人关注过本帖
标题:代码有问体,求大家帮忙找找改改!!谢谢了!!!
取消只看楼主 加入收藏
jokerskill
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:392
专家分:554
注 册:2012-3-4
结帖率:73.08%
收藏
已结贴  问题点数:20 回复次数:4 
代码有问体,求大家帮忙找找改改!!谢谢了!!!
这是一个求输入的一个数然后判断他是质数(又称素数),还是合数(并把所以约数列出来)的代码;觉得有些问题,求大家改改,哪里有问题????
#include <stdio.h>
int main(void)
{
int a,b = 0,n;
scanf("%d",&n);
for ( a = 1; a < 10; ++a ) {
if ( a == n ) {
printf("%d%%d = %d",n,a,n%a);
printf("%d的约数有:%d",n,a);
++b;
printf("%d能够被整除%d次",n,b);
if ( b > 2 )
printf("%d:是一个合数",n);
else if ( b <= 2 )
printf("%d:是一个质数",n);
break;
}
if ( n%a == 0 )
{
printf("%d的约数有:%d",n,a);
++b;
printf("%d能够被整除%d次",n,b);
}
else
printf("不能整除%d的书有:%d",n,a);
}
return 0;
}
当我输入整数4的时候输出的是:4的约数有:14能够被整除1次4的约数有:24能够被整除2次不能整除4的书有:34%d = 44的约
数有:44能够被整除3次4:是一个合数。

下面是编译的内容:没有错误,但是有一警告:
Warning 3.c: 8  printf: too many arguments
0 errors, 1 warning
搜索更多相关主题的帖子: include 
2012-06-20 15:03
jokerskill
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:392
专家分:554
注 册:2012-3-4
收藏
得分:0 
有机会出来喝茶啊我请客。
我 觉得大家挺有缘的,船长你好啊!!!
#include <stdio.h>
#include <math.h>
int main(void)
{
    int a, b=0, n;
    scanf("%d",&n);
    for (a=2;a<=sqrt(n); a++) {
        if ( n%a==0 ) {
            ++b;
        }   
    }
    if ( b >0 ) {
           printf("%d:是一个合数\n",n);
           printf("约数为:");
           for(a=2;a<n;a++){
                   if(n%a==0) printf("%4d", a);
               }
    }
    else if (b==0){
        printf(" %d:是一个质数",n);
    }
    putchar(10);
    return 0;
}
你的代码输出:4:是一个合数
约数为:   2
代码挺完美的
2012-06-20 18:01
jokerskill
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:392
专家分:554
注 册:2012-3-4
收藏
得分:0 
不错每人给10分,
2012-06-20 18:20
jokerskill
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:392
专家分:554
注 册:2012-3-4
收藏
得分:0 
美女的代码有一个错误:
当你输入1时是:1是一个质数(但是1即不是质数也不是合数)
2012-06-20 20:09
jokerskill
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:392
专家分:554
注 册:2012-3-4
收藏
得分:0 
改了以后,就牛了一点点!!!实在是憋不出来了。。。。。。
#include <stdio.h>
int main(void)
{
int a,b = 0,n;
scanf("%d",&n);
for ( a = 1; a < 100; ++a ) {
if ( a == n ) {
printf("%d的约数有:%d\n",n,a);
++b;
printf("%d能够被整除%d次\n",n,b);
if ( b > 2 )
printf("%d:是一个合数\n",n);
else if ( b <= 2 )
printf("%d:是一个质数\n",n);
break;
}
if ( n%a == 0 )
{
printf("%d的约数有:%d\n",n,a);
++b;
printf("%d能够被整除%d次\n",n,b);
}
else
printf("不能整除%d的书有:%d\n",n,a);
}
return 0;
}
2012-06-20 20:42
快速回复:代码有问体,求大家帮忙找找改改!!谢谢了!!!
数据加载中...
 
   



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

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