
急啊!有两道简单C语言题向大家请教
1.输出9*9乘法表2.输入10个数,先用选择法对它们从小到大排序,然后输入另一数,将它插入到10个数中,使这些数仍然有序。3.幼儿园有大中小3个班的小朋友,分西瓜时,大...
1.输出9*9乘法表
2 .输入10个数,先用选择法对它们从小到大排序,然后输入另一数,将它插入到10个数中,使这些数仍然有序。
3.幼儿园有大中小3个班的小朋友,分西瓜时,大班3人一个,中班4人一个,小班5人一个,正好分完10个西瓜。分苹果时,大班每人2个,中班每人3个,小班每人4个,正好分完100个苹果。编程求幼儿园里有多少小朋友。
小弟真的不会啊!帮帮忙好吧! 展开
2 .输入10个数,先用选择法对它们从小到大排序,然后输入另一数,将它插入到10个数中,使这些数仍然有序。
3.幼儿园有大中小3个班的小朋友,分西瓜时,大班3人一个,中班4人一个,小班5人一个,正好分完10个西瓜。分苹果时,大班每人2个,中班每人3个,小班每人4个,正好分完100个苹果。编程求幼儿园里有多少小朋友。
小弟真的不会啊!帮帮忙好吧! 展开
2个回答
展开全部
1)
void ninenine()
{
for(int i=1;i<10;i++)
{
for(int j=1;j<=i;j++)
{
printf("%d X %d = %d ", j,i,i*j);
}
printf("\n");
}
}
2)
前10个数是选择排序,后面加一个是插入排序。
void selectsort()
{
int num[15];
printf("please input 10 numbers\n");
for(int i=0;i<10;i++)
{
printf("input num %d\n", i);
scanf("%d", &num[i]);
}
int tmp=0;
int min = 0;
for(int i=0;i<10;i++)
{
tmp = i;
min = num[i];
int j;
for(j=i;j<10;j++)
{
if(num[j] < min)
{
min = num[j];
tmp = j;
}
}
if(tmp != j)
{
num[tmp] = num[i];
num[i] = min;
}
}
printf("After select sort\n");
for(int i=0;i<10;i++) printf("%d ",num[i]);
printf("\n input another number\n");
scanf("%d", &num[10]);
for(int i=0;i<10;i++)
{
if(num[i]>num[10])
{
tmp = num[10];
for(int j=10;j>i;j--)
{
num[j] = num[j-1];
}
num[i] = tmp;
break;
}
}
printf("After insert sort\n");
for(int i=0;i<11;i++) printf("%d ",num[i]);
printf("\n");
}
3)
设大,中,小班分别是x, y,z人,则有分西瓜可知大班人数为三的倍数,中班为四的倍数,小班为五的倍数。
void apple()
{
int x, y,z;
for(x = 3 ; x < 30 ; x += 3)
{
for(y = 4;y<40;y+= 4)
{
for(z = 5;z < 50; z+= 5)
{
int waterball = x / 3 + y / 4 + z / 5;
int apple = x * 2 + y * 3 + z * 4;
if(waterball == 10 && apple == 100 )
{
printf("%d %d %d\n", x,y,z);
}
}
}
}
}
int main(array<System::String ^> ^args)
{
ninenine();
selectsort();
apple();
return 0;
}
大:18
中:8
小:10
VS2005 C++.net 通过。
void ninenine()
{
for(int i=1;i<10;i++)
{
for(int j=1;j<=i;j++)
{
printf("%d X %d = %d ", j,i,i*j);
}
printf("\n");
}
}
2)
前10个数是选择排序,后面加一个是插入排序。
void selectsort()
{
int num[15];
printf("please input 10 numbers\n");
for(int i=0;i<10;i++)
{
printf("input num %d\n", i);
scanf("%d", &num[i]);
}
int tmp=0;
int min = 0;
for(int i=0;i<10;i++)
{
tmp = i;
min = num[i];
int j;
for(j=i;j<10;j++)
{
if(num[j] < min)
{
min = num[j];
tmp = j;
}
}
if(tmp != j)
{
num[tmp] = num[i];
num[i] = min;
}
}
printf("After select sort\n");
for(int i=0;i<10;i++) printf("%d ",num[i]);
printf("\n input another number\n");
scanf("%d", &num[10]);
for(int i=0;i<10;i++)
{
if(num[i]>num[10])
{
tmp = num[10];
for(int j=10;j>i;j--)
{
num[j] = num[j-1];
}
num[i] = tmp;
break;
}
}
printf("After insert sort\n");
for(int i=0;i<11;i++) printf("%d ",num[i]);
printf("\n");
}
3)
设大,中,小班分别是x, y,z人,则有分西瓜可知大班人数为三的倍数,中班为四的倍数,小班为五的倍数。
void apple()
{
int x, y,z;
for(x = 3 ; x < 30 ; x += 3)
{
for(y = 4;y<40;y+= 4)
{
for(z = 5;z < 50; z+= 5)
{
int waterball = x / 3 + y / 4 + z / 5;
int apple = x * 2 + y * 3 + z * 4;
if(waterball == 10 && apple == 100 )
{
printf("%d %d %d\n", x,y,z);
}
}
}
}
}
int main(array<System::String ^> ^args)
{
ninenine();
selectsort();
apple();
return 0;
}
大:18
中:8
小:10
VS2005 C++.net 通过。
展开全部
一题:
#include<stdio.h>
void main()
{ float i,j;
for(i=1;i<=9;i++)
{ printf("%-4.0f ",10-i);
for(j=1;j<=i;j++)
printf("%-4.0f ",i*j);
printf("\n");
}
printf(" ");
for(i=1;i<=9;i++)
printf("%-6.0f",i);
}
二题:
#include<stdio.h>
void main()
{
int a[11],i,j,tmp=0,min = 0;
printf("please input 10 numbers\n");
for(i=0;i<10;i++)
{
printf("input a[ %d]\n", i);
scanf("%d", &a[i]);
}
for(i=0;i<10;i++)
{
tmp = i;
min = a[i];
for(j=i;j<10;j++)
{
if(a[j] < min)
{
min = a[j];
tmp = j;
}
}
if(tmp != j)
{
a[tmp] = a[i];
a[i] = min;
}
}
printf("After select sort\n");
for(i=0;i<10;i++) printf("%d ",a[i]);
printf("\n input another number\n");
scanf("%d", &a[10]);
for(i=0;i<10;i++)
{
if(a[i]>a[10])
{
tmp = a[10];
for(j=10;j>i;j--)
{
a[j] = a[j-1];
}
a[i] = tmp;
break;
}
}
printf("After insert sort\n");
for(i=0;i<11;i++) printf("%d ",a[i]);
printf("\n");
}
3题:
其实就是一个穷举就可以完成的问题,还是就射a,b,c分别为大中小三个班级的人吗,就可以从1开始试告,直到全部是整数,且大于0时就是最终的解。
#include<stdio.h>
void main()
{int a,b,c,d=0,f=0;
for(a=1;!(d==10 && f==100);a++)
for(b=1;;b++)
for(c=1;(a<10 && f<100);c++)
{d=a/3+b/4+c/5;
f=2*a+3*b+4*c;
if(d==10 && f==100)
{ printf("a=%d\nb=%d\nc=%d\n");
continue;}
if(c==1 && (d>10||f>100))
continue;
}
}
不知道怎么的,还3没有输出成功,我还在检查,但是思路绝对是对的,但是不知道为什么没有结果出来
#include<stdio.h>
void main()
{ float i,j;
for(i=1;i<=9;i++)
{ printf("%-4.0f ",10-i);
for(j=1;j<=i;j++)
printf("%-4.0f ",i*j);
printf("\n");
}
printf(" ");
for(i=1;i<=9;i++)
printf("%-6.0f",i);
}
二题:
#include<stdio.h>
void main()
{
int a[11],i,j,tmp=0,min = 0;
printf("please input 10 numbers\n");
for(i=0;i<10;i++)
{
printf("input a[ %d]\n", i);
scanf("%d", &a[i]);
}
for(i=0;i<10;i++)
{
tmp = i;
min = a[i];
for(j=i;j<10;j++)
{
if(a[j] < min)
{
min = a[j];
tmp = j;
}
}
if(tmp != j)
{
a[tmp] = a[i];
a[i] = min;
}
}
printf("After select sort\n");
for(i=0;i<10;i++) printf("%d ",a[i]);
printf("\n input another number\n");
scanf("%d", &a[10]);
for(i=0;i<10;i++)
{
if(a[i]>a[10])
{
tmp = a[10];
for(j=10;j>i;j--)
{
a[j] = a[j-1];
}
a[i] = tmp;
break;
}
}
printf("After insert sort\n");
for(i=0;i<11;i++) printf("%d ",a[i]);
printf("\n");
}
3题:
其实就是一个穷举就可以完成的问题,还是就射a,b,c分别为大中小三个班级的人吗,就可以从1开始试告,直到全部是整数,且大于0时就是最终的解。
#include<stdio.h>
void main()
{int a,b,c,d=0,f=0;
for(a=1;!(d==10 && f==100);a++)
for(b=1;;b++)
for(c=1;(a<10 && f<100);c++)
{d=a/3+b/4+c/5;
f=2*a+3*b+4*c;
if(d==10 && f==100)
{ printf("a=%d\nb=%d\nc=%d\n");
continue;}
if(c==1 && (d>10||f>100))
continue;
}
}
不知道怎么的,还3没有输出成功,我还在检查,但是思路绝对是对的,但是不知道为什么没有结果出来
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询