问一个C语言编程问题。

作者&投稿:凭谦 (若有异议请与网页底部的电邮联系)
给,已经编译运行确认:
1. 当大马,中马,小马每种不能少于1匹,有多少种组合法。
#include<stdio.h>
#include<conio.h>

int main()
{
int i,j,k;
int count=0;

i=1;
j=1;
k=2;

while(i<100)
{
while(j<100)
{
while(k<100)
{
if((i+j+k==100)&&(3*i+2*j+k/2==100))
{
printf("大马:%d 中马:%d 小马:%d\n",i,j,k);
count++;
}
k=k+2;
}
k=2;
j++;
}
j=1;
i++;
}

printf("一共%d种组合法\n",count);
getch();
return 1;
}

运行结果为:
大马:2 中马:30 小马:68
大马:5 中马:25 小马:70
大马:8 中马:20 小马:72
大马:11 中马:15 小马:74
大马:14 中马:10 小马:76
大马:17 中马:5 小马:78
一共6种组合法

2. 当可以缺少一种或两种,又有多少种组合法。
#include<stdio.h>
#include<conio.h>

int main()
{
int i,j,k;
int count=0;

i=0;
j=0;
k=0;

while(i<100)
{
while(j<100)
{
while(k<100)
{
if((i+j+k==100)&&(3*i+2*j+k/2==100))
{
printf("大马:%d 中马:%d 小马:%d\n",i,j,k);
count++;
}
k=k+2;
}
k=0;
j++;
}
j=0;
i++;
}

printf("一共%d种组合法\n",count);
getch();
return 1;
}

运行结果为:
大马:2 中马:30 小马:68
大马:5 中马:25 小马:70
大马:8 中马:20 小马:72
大马:11 中马:15 小马:74
大马:14 中马:10 小马:76
大马:17 中马:5 小马:78
大马:20 中马:0 小马:80
一共7种组合法

=====================================
如果不用while do...while语句该怎么写这程序?
=====================================
大哥,你早说啊,不用while更简单:
1. 当大马,中马,小马每种不能少于1匹,有多少种组合法。
#include<stdio.h>
#include<conio.h>

int main()
{
int i,j,k,count=0;

for(i=1;i<100;i++)//大马
for(j=1;j<100;j++)//中马
for(k=2;k<100;k=k+2)//小马 步长为2,因为小马不能为奇数,否则将有一个小马驮半担货

if((i+j+k==100)&&(3*i+2*j+k/2==100))
{
printf("大马:%d 中马:%d 小马:%d\n",i,j,k);
count++;
}

printf("一共%d种组合法\n",count);
getch();
return 1;
}

2. 当可以缺少一种或两种,又有多少种组合法。
#include<stdio.h>
#include<conio.h>

int main()
{
int i,j,k,count=0;

for(i=0;i<100;i++)//大马
for(j=0;j<100;j++)//中马
for(k=0;k<100;k=k+2)//小马 步长为2,因为小马不能为奇数,否则将有一个小马驮半担货

if((i+j+k==100)&&(3*i+2*j+k/2==100))
{
printf("大马:%d 中马:%d 小马:%d\n",i,j,k);
count++;
}

printf("一共%d种组合法\n",count);
getch();
return 1;
}

#include"stdio.h"
#include<math.h>
int
main(void)
{
double
e,pi;
double
funpi(double
e);
printf("Enter
e:");
scanf("%lf",&e);
pi=funpi(e);
printf("pi=%.4lf",pi);
//输出格式%lf.
并且是输出pi的值.而不是地址.所以不用加&
return
0;
}
double
funpi(double
e)
{
int
denominator,flag;
double
item,sum;
flag=1;
denominator=1;
item=1.0;
sum=0;
while(fabs(item)>=e){
item=flag*1.0/denominator;
sum=sum+item;
flag=-flag;
denominator=denominator+2;
}
return
sum*4;
}

错误之处:主函数中的printf("pi=%.4f",&pi);
应该为:
printf("pi=%.4f",pi);
即输出语句pi前不能有取地址运算符。
e值越小越精确,是吧!呵呵。

1、当大马,中马,小马每种不能少于1匹,有多少种组合法。 余下的你自己依此类推。

mian()
{
int a=1; /*大*/
int b=1; /*中*/
int c=1; /*小*/
int n=0; /*计数*/
/*使用多重循环,先是小的从1开始,一直到100-(a+b),然后通过if语句判断有没有合适的,如有,则计数器加1。
*/
for(a=1;a<=100-(b+c);a++)
{ for(b=1;b<=100-(a+c);b++)
{
for(c=1;c<=100-(a+b);c++)
{
if(a+b+c==100&&3*a+2*b+1.0/2*c==100)
n++;
}
}
}
printf("%d",n);
}
为什么循环条件不是小于100呢?当大马为1,中马为1时,小马最多为100-大中马。并且小马也可以是单数。因为小马也可以不担的嘛。题目意思如此。

你这根本不能实现的啊,
100匹马全部是小马的话就已经达到100担货了

问一个c语言编程的问题~

main()
{
int a,i,t;
i=100;
while(i<=200)
{
a=2; //判断下一个数之前先把a初始化成2
while(a<i)
{
t=i%a;
a++;
if(t==0)break;

}
if(a==i)printf("%d
",i);
i++;
}
}

给你个算法吧
分别定义下C的个位m十位n百位p千位q
m=b%10 p=b/10
n=a%10 q=a/10
c=q*1000+m*100+q*10+p
前提 你所用的ab为俩位数
比如我输入一个数98
我要取它的十位数,也就是9
那么我就用98/10这条命令,其中“/”的意思是整除,也就是除了已后取整数部分,比如98除以10应该是9。8,但是取整数部分后就是9
同理要取个们数,也就是8
我们就用98%10这条命令,其中“%”的意思是取余的意思,就是说除完之后取余数,而不取整数部分,比如98除以10应该是9。8,但是取余数部分后就是8
给你举个例子
#include
void main()
{
int i=98;
printf("%d %d",i/10,i%10);
}
给你扩展下,如果是个三位数,比如987,要取百位,十位,个位,分别是987/100,(987%100)/10,987%10

C语言问题编程问题?
答:while(n<0 || n>30) scanf("%d",&n);if(!n) return 0;for(i=0;i<n;scanf("%f",&scores[i]),sum+=scores[i],i++)printf("请输入学生%d分数:",i+1);printf("%d名学生的平均分为%.1f\n",n,sum/i);for(i=0,printf("开始降序排序\n");i<n-1;i++)for(j=i+1;j<...

C语言编程题:输入一个正整数 repeat (0<repeat<10),做 repeat 次下列...
答:程序运行第一行为输入repeat,即读取输入字符串数。第2、4、6行为输入的字符串,其中BCD为大写辅音字母,共三个;第3、5、7行为输出计数结果,与实际情况一致,该程序基本符合要求。经测试,该程序通过以循环读取字符对输入字符串进行处理的方法可处理含空格等特殊字符的字符串,输出字符串中大写辅音字母...

一个c语言小问题,编写程序?
答:按照题目要求编写的C语言程序如下(见图)

C语言编程最常见的15个错误
答:C语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。以下是关于C语言编程最常见的15个错误,希望大家认真阅读!1.书写标识符时,忽略了大小写字母的区别。main(){ int a=5;printf("%d",A); } 编译程序把a和A认为是两个不同的变量名,而显示出错信息。C认为大写字母...

c语言编程问题!!
答:c语言编程问题!!编写一个程序,先输入一个字符串str(长度不超过20),再输入单独的一个字符ch,然后程序会把字符串str当中出现的所有的ch字符都删掉,从而得到一个新的字符串str2,然后把这个字符串... 编写一个程序,先输入一个字符串str(长度不超过20),再输入单独的一个字符ch,然后程序会把字符串str当中出现的...

c语言编程题 一个数如果恰好等于它的因子之和,这个数就称为完数。例
答:include<stdio.h> int main(){int i,j,s;for(i=2;i<=1000;i++){s=1;for(j=2;j<=i/2;j++)if(i%j==0)s+=j;if(s==i){ printf("%d its factors are 1 ",i);for(j=2;j<=i/2;j++)if(i%j==0)printf("%d ",j);printf("\n");} } return 0;} ...

C语言编程问题,初学者,不太会,谢谢
答:编写一个函数,删去输入的一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。在主函数输入一个有序数组,接着调用该自定义函数,最后输出删除重复数据后的数组元素。如:输入的数组元素为:999866000-2-2打印的结果为:9860-2 这个程序的实现...

C语言编程题:从键盘输入一个小写字母,在屏幕上显示其对应的大写字母_百 ...
答:【C语言输入小写字母,输出显示为大写字母主要用到字符】例子如下:直接编译,程序输出结果中输入任意小写字母,按回车,得到结果如下图所示:

C语言编程问题:输入一个字符串,再输入一个字符ab,将字符串中所有的ab...
答:大致思考方法:定义三个字符串:str[], ab[], output[],str是输入的第一个字符串,output放的是最后的结果。设置两个下标 i,j。i指向第一个字符串,j指向第二个子符串;i每次向后移动一个位置,i往后的strlen(ab)个字符是不是和字符串ab匹配,如果不匹配就把str[i]添到字符串output中,如果...

c语言编程题!字符串复制。输入一个字符串,把它复制到一个字符数组中,并...
答:include <stdio.h> int main(){ char a[100] = "\0",b[100] = "\0";int i = 0;printf("输入一行字符:\n");scanf("%s",a);for(i = 0;a[i] != '\0';i++){ b[i] = a[i];} printf("%s\n",b);return 0;} ...