求1+2+3+...+n<=10000的最大整数n C语言作业。求C语言代码

2025-03-25 23:47:33
推荐回答(2个)
回答1:

#include

int main(){

int n;

int sum=0;

for (n=1; sum<=10000; n++) {

sum=sum+n;

}

printf("n=%d\n",n-1);

return 0;

}

------

#include

int main(){

int x,y,z;

for ( x=0; x<=20; ++x ){ //最多20只公鸡

if ( (100-7*x)%4 == 0 ){ //由5*x+3*y+z/3=100 和x+y+z=100推导出来;

y = (100-7*x)/4;

if ( y>=0 ){

z = 100-x-y;

if ( z>=0 ){

printf("公鸡 : %2d, 母鸡 : %2d, 小鸡 : %2d\n",x,y,z);

}

}

}

}

return 0;

}

-------
//下面这个方法好理解,但是复杂度大,效率差;
#include

int main(){

int cock,hen,chicken;

for (cock=0; cock<=20; cock++) { //公鸡不可能超过20,下面同样;

for (hen=0; hen<=33;hen++) {

for (chicken=0; chicken<=100; chicken+=3) {

if ((5*cock+3*hen+chicken/3)==100 && (cock+hen+chicken)==100) {

printf("cock=%d,hen=%d,chicken=%d\n",cock,hen,chicken);

continue;

}

}

}

}

return 0;

}
------
//3.输入一系列字符(以“#”号结束),统计输入了多少个元音字母。

#include

int main(){

char string[100];

scanf("%s",string);

int i=0;

char *str=string;

while (*str!='#') {

switch (*str) {

case 'a':

case 'e':

case 'i':

case 'o':

case 'u':

i++;

default:

str=str+1;

}

}

printf("i=%d\n",i);

return 0;

}

回答2:

1—

#include
int main()
{
int b=0,a;
for(a=1;b<=10000;a++)
{
b+=a;
}
printf("%d",a);
return 0;
}

2—
#include
void main()
{
int gj,mj,xj;
for(gj=1;gj<20;gj++)
{
for(mj=1;mj<33;mj++)
{
for(xj=3;xj<100;xj=xj+3)
{
if( ((gj+mj+xj)==100) && ((gj*5+mj*3+xj/3)==100) )

printf("母鸡%d,公鸡%d,小鸡%d\n",mj,gj,xj);
}
}
}
}
今天睡觉了 明天来