唉,老师刚给的C语言作业,好多不会大家帮帮忙吧。

下列程序的功能为:查找100至999之间所有符合以下条件的数:是另一数的平方;至少有两位数是相同的。如数144,它是12的平方,其中有两位4。[2.1]下列程序的功能为:... 下列程序的功能为:查找100至999之间所有符合以下条件的数:是另一数的平方;至少有两位数是相同的。如数144,它是12的平方,其中有两位4。
[2.1] 下列程序的功能为:计算1000!的末尾有多少个零。[填空题]
【程序】
#include <stdio.h>
void main ( )
{
int m,i,k;
for (k=0,i=5; i<=1000; i+=5)
{ m = i ;
while ( ) { k++; ; }
}
printf("k=%d\n", k);
}
3.编程题
[3.1]编写一个程序实现如下功能:计算1~100之间所有含8的数之和。

[3.2] 编写程序,编写一个程序实现如下功能:用下列近似公式计算e值,误差应小于10-5

[3.3] 编写一个程序实现如下功能:验证下列结论:任何一个自然数n的立方都等于n个连续奇数之和。例如: 13 =1 ; 23 =3+5 ; 33 =7+9+11 。
要求:程序对每个输入的自然数计算并输出相应的连续奇数,直到输入的自然数为 0 时止。
[3.4].将一张面值为100元的人民币等值换成100张5元、1元和0.5元的零钞,要求每种零钞不少于1张,问有哪几种组合?
展开
 我来答
小七说LoRa
2011-04-11 · TA获得超过461个赞
知道小有建树答主
回答量:433
采纳率:0%
帮助的人:259万
展开全部
#include <stdio.h>

void main()
{
int i,bai,shi,ge,t;
for (i = 10; i <= 32; i++)
{
t= i*i;
bai = t/100;//存百位数字
shi = (t%100)/10;//存十位数字
ge = t%10;//存个位数字
if (bai==shi)
{
printf("%d \n",t);
continue;
}
if (shi==ge)
{
printf("%d \n",t);
continue;
}
if (bai==ge)
{
printf("%d \n",t);
continue;
}
}
return;
}
先帮你写第一个,要记得自己一定要看懂,不然后面学习会很吃力 ,后面的题给你算法。
3.1 %是取余数,比如18%10,取的就是个位值为8,80%10取的就是个位,值为0,18/10取的是十位,值为1,这样用for循环就可以计算1-100之间那些数含有8,然后计算它们的和就可以了。
更多追问追答
追问
恩,谢谢,辛苦您了.语法大部分还是看的懂 ,就是很多东西想不到,是不是需要看一些关于这方面的书呢
追答
3.4  100元换成角就是1000,使用for循环100元全部换成5角的就需要200张,全部换成1元的需要100张,全部换成5元的需要20张
for(i=1;i<=200;i++)
for(j=1;j<=100;j++)
for(t=1;t<=20;t++)
if(i*5+10*j+50*t == 1000)
printf("需要5角%d张,需要1元%d张,需要5元%d张\n",i,j,t);
2.1 while ( m%10==0 ) { k++; m/=10 ; }
806721428
2011-04-11
知道答主
回答量:43
采纳率:0%
帮助的人:0
展开全部
````自己写,分给的再高也不能帮你写啊
更多追问追答
追问
55555,不会呢,回去一定要好好看看C语言。。。。。
追答
恩,好好学吧,C语言还是比较容易的,难的是算法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lailiangyu
2011-04-11 · 超过17用户采纳过TA的回答
知道答主
回答量:97
采纳率:0%
帮助的人:41.9万
展开全部
3.1
main()
{ int a,b=0;
for(a=1;a<=100;a++)
{ if(a/10==8||a%10==8)
b=b+a;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风之语录0214
2011-04-11 · 贡献了超过214个回答
知道答主
回答量:214
采纳率:0%
帮助的人:16.1万
展开全部
对于“问题3.1 编写一个程序实现如下功能:计算1~100之间所有含8的数之和。”,我的代码如下,又不是之处,请大家指正;
#include <stdio.h>

int main(int argc, char *argv[])
{
int sum, i, j, s, b;
sum = 0;
for(i = 0; i <= 100; i++)
{
j = i % 10;
s = (i % 100) / 10;
b = i / 100;

if(j == 8 || s == 8 || b == 8)
{
sum += i;
printf("%d ", i);
}
}
printf("\nsum is %d\n", sum);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
furious_tauren
2011-04-11 · TA获得超过4057个赞
知道大有可为答主
回答量:1913
采纳率:100%
帮助的人:924万
展开全部
1,第一个问题:
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <math.h>
4
5 int main(int arvc, const char* argv[])
6 {
7 int s, i;
8
9 for (i = 100; i <= 999; i++)
10 {
11 s = (int)sqrt(i);
12
13 if (i == s * s)
14 {
15 if ((i % 100) / 10 == i % 10)
16 printf("%d ", i);
17 }
18 }
19
20 printf("\n");
21 return 0;
22
23 }
追问
呵呵,原来一道题的解法有这么多呢。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式