搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ c语言求解!大一新生!
标题:
c语言求解!大一新生!
取消只看楼主
suhailan
等 级:
新手上路
帖 子:12
专家分:0
注 册:2017-12-20
结帖率:
100%
楼主
问题点数:0 回复次数:3
c语言求解!大一新生!
题目是输出100到200之间的素数。程序如下
#include<stdio.h>
int main(void)
{
int a,s=0,i;
for(a=100;a<=200;a++)
{s=0;
for(i=1;i<=a;i++)
if(a%i==0) s=s+i;
if(s==a+1) printf("%d\n",a);}
return 0;
}
这个程序是正确的,可是我不理解s的作用,有没有大神能够为我这个新手解答一下啊。谢谢谢谢谢谢!
搜索更多相关主题的帖子:
c语言
大一新生
int
for
i++
2017-12-25 11:39
suhailan
等 级:
新手上路
帖 子:12
专家分:0
注 册:2017-12-20
第
2
楼
得分:0
回复 2楼 wp231957
谢谢大神,我还有个问题想问一下
题目是输入两个正整数m和n,计算m和n的最大公约数。
到最后是不是要比较公约数的大小的?
我的程序是这样的
#include<stdio.h>
#include<stdlib.h>
int main(){
int m,n;
scanf("%d %d",&m,&n);
int t;
int a;
for(t=1;t<=m&&t<=n;t++)
if(m%t==n%t)
a=t;
printf("%d\n",a);
return 0;
}
我没有比较大小,可是为什么不会输出1,而输出了最大公约数?
2017-12-26 10:39
suhailan
等 级:
新手上路
帖 子:12
专家分:0
注 册:2017-12-20
第
3
楼
得分:0
回复 4楼 wp231957
for(t=1;t<=m && t<=n;t++) if(m%t==n%t) a=t;我这句的意思是从1开始一个一个数地算下去,这样的话t应该是有很多值才对的,可是它好像会输出最大的t?这样的话是不是不用比较了?你能不能展示一下你的编写的程序呢?谢谢
2017-12-28 19:44
suhailan
等 级:
新手上路
帖 子:12
专家分:0
注 册:2017-12-20
第
4
楼
得分:0
回复 5楼 花脸
不一定是最小的数吧?比如35和21,最大公约数是7啊
2017-12-28 19:45
4
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-483702-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.397470 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved