这个C程序该怎么写 谁来帮个忙

题目是 a b c为正整数 且都小于N,N也为正整数
再设a b c可以构成一个三角形的三个边
要求输出所有abc组合 不能遗漏也不能重复如(3 4 5)和(4 5 3)(5 4 3)
自己写了下 有点小问题
main()
{ int a=1,b=1,c=1,N=3;
printf("please input N\n");
scanf("%d",&N);
for(a=1;;a++)
for(b=1;;b++)
for(c=1;;c++)
if(a<=b&&b<=c&&c<N&&a+b>c&&b+c>a&&c+a>b)
printf("%d,%d,%d\n",a,b,c);
}

你写的程序思路是对的,不过你写程序的风格问题不小,掉了括号太多了,还有for循环中间也少了东西,改过后的程序见下,我执行过了,结果正确
#include<stdio.h>
void main()
{
int a=1,b=1,c=1,N=3;
printf("please input N\n");
scanf("%d",&N);
for(a=1;a<=N;a++)
{
for(b=1;b<=N;b++)
{
for(c=1;c<=N;c++)
{
if(a<=b&&b<=c&&c<N&&a+b>c&&b+c>a&&c+a>b)
printf("%d,%d,%d\n",a,b,c);
}
}
}
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2006-11-18
#include"stdio.h"
int main() {
int a=1,b=1,c=1,N=3;
printf("please input N\n");
scanf("%d",&N);
for(a=1;a<=N;a++)
for(b=1;b<=a;b++)
for(c=1;c<=b;c++)
if(a+b>c&&b+c>a&&c+a>b)
printf("%d,%d,%d\n",c,b,a);
return 0;
}

注意for语句的用法

帮个忙,怎么用C语言做这个程序?1的三次方,一直加到N的三次方,要求输入...
main(){int sum=0,n,i;scanf("%d",&n);for(i=1;i<=n;i++)sum+=i*i*i;printf("\\n%d",sum);}

C语言,会的帮个忙。全部做出来的话我把我分全加给他
\/*需要说明一点的就是使用scanf在对字符串的输入,因为scanf以空格作为一个变量的结束 标志,所以在输入姓名中不要出现空格,学号由于也使用的是字符型变量,所以同样需要注意 不然程序会出现问题,如果想不出现此种问题,最好使用gets()来对字符串的输入操作。\/ \/*编一个程序,把2个字符串连起来,不...

a*(10的q次方)在C程序中该怎么写,哪位大侠帮个忙,小弟在这谢过了
return c;}

C语言高手来帮个忙!COME!COME!GO GO GO!
using namespace std;void main(){ int i,year,month,day,mdays[]={31,28,31,30,31,30,31,31,30,31,30,31},sum=0;cout<<"请输入年、月、日:"<<endl;cin>>year>>month>>day;\/\/对闰年的处理 if(year%4==0&&(year%100!=0||year%400==0))a[1]+=1;for(i=0;i<month-1...

用C语言编写12345678这八个数所有可能的排列的情况.急!!!那为好人可 ...
void main(){ long n=0;for(int a=1;a<9;a++){ for(int b=1;b<9;b++){ if(b!=a){ for(int c=1;c<9;c++){ if((c!=a)&&(c!=b)){ for(int d=1;d<9;d++){ { if((d!=a)&&(d!=b)&&(d!=c)){ for(int e=1;e<9;e++){ if((e!=a)&&(e!=b)&&(...

关于C语言程序,请大虾们在每一段的代码后面帮我做个注释!我会追加分数...
程序是这样的:include <graphics.h>\/\/添加graphics.h头文件 const int wxl=100,wxr=400,wyb=100,wyt=300;\/\/声明参 数,即参考区域 typedef struct\/\/定义直线结构体 { int x1,y1,x2,y2;\/\/声明变量 }LINE;\/\/LINE现在即为一个过(x1,y1),(x2,y2)的直线 int encode(int x,int y)\/\/...

开学第一节课,要用C语言写一个比较三个数大小的程序.各位大虾帮个忙
学习要靠自己!\/\/\/ include <stdio.h> void main(){ int a;int b;int c;int d;scanf("%d %d %d",&a,&b,&c); \/\/读入数据 if (a>b)d=a;else d=b; \/\/取a、b中的最大值 if (d<c)d=c;printf("%d",d); \/\/输出三个数中的最大值 } ...

会C语言的朋友帮个忙啊 帮我编个小程序
会C语言的朋友帮个忙啊 帮我编个小程序 一、总体要求1、对实际问题进行分析、写出算法分析。2、设计程序结构3、给出设计的各模块。4、提交各应用程序的源程序清单。6、课程设计选择turboc二、课程设计的内容和具体要求主要包... 一、总体要求1、对实际问题进行分析、写出算法分析。2、设计程序结构3、给出设计...

帮个忙 编个数码管显示1234的c语言程序啊
define DataPort P0 \/\/定义数据端口 程序中遇到DataPort 则用P0 替换 sbit LATCH1=P2^2;\/\/定义锁存使能端口 段锁存 sbit LATCH2=P2^3;\/\/ 位锁存 unsigned char code dofly_DuanMa[]={0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x3f};\/\/ 显示段码值12345670 unsigned char ...

C语言问题,大家帮个忙谢谢
逆序的算法相对正序简单点,先通过 % 10 取出最低位,再通过 \/ 10删除最低位,循环就可以把每一位数字都输出来。测试代码 测试结果 测试代码:#include <stdio.h> int main(){ int n, k = 1000, len = 4;scanf("%d", &n);\/\/ 判断它是几位数 if (n < 10) len = 1;else if (...

相似回答