同志们好~ 小弟刚学C语言不到6个月~ 有道题令小弟为难~ 请求答案啊~

到百度贴吧首页
新闻   网页   贴吧   知道   MP3   图片   视频   百科
    吧内搜索 | 帮助

同志们好~ 小弟刚学C语言不到6个月~ 有道题令小弟为难~ 请求答案啊~

61.235.55.*

1楼

输出从公元1600年至2000年所有闰年的年号。每5个年号换一行。判断公元年是否为闰年的条件是:
       (1)公元年数如能被4整除,而不能被100整除,则是闰年;
       (2)公元年数能被400整除也是闰年。
      
    最好有/*注释*/啊~~  

2楼

汗。。。学了6个月连这个题都搞不定啊。。。
#include<stdio.h>
void main()
{
 int year,i=0;
 for(year=1600;year<=2000;year+=4) /*用+=4不用解释了吧,这样加快判断速度*/
 {
 if(year%100!=0||year%400==0)
 {
 printf("%d "year);
 i++;
 if(i%5==0) printf("\n");
 } 
 }
}

其他语句没什么可注释的了

61.235.55.*

3楼

THANKS YOU

4楼

怎样才能学好C?
221.221.146.*

6楼

到C Forum看看
http://bbs.itbase.cn/forumdisplay.php?fid=13

7楼

同志,你是大一的吧,在哪上啊?
218.12.101.*

8楼

#include<stdio.h>
void main()
{
 int year,i=0;
 for(year=1600;year<=2000;year+=4) /*用+=4不用解释了吧,这样加快判断速度*/
 {
 if(year%100!=0&&year%400==0)
 {
 printf("%d ",year);
 i++;
 if(i%5==0) printf("\n");
 } 
 }
}

9楼

晕不回把,下面的语句就能解决问题
if ((year%4==0 && year%100!=0) || (year%400= =0)) leap=1; 
 else leap=0;

211.139.151.*

10楼

你半年都学哈啦?
61.185.224.*

11楼

for(year=1600;year<=2000;year+=4) /*用+=4不用解释了吧,这样加快判断速度*/ ??假如1601是闰年这么办??。
if ((year%4==0 && year%100!=0) || (year%400= =0)) leap=1; 
 为什么leap=1,难道1600到2000中只有一个闰年吗?
 else leap=0;他只要求的闰年的年数,不是闰年的就不用管,你写的这句
有必要没?

218.4.198.*

12楼

int k,i,j;

for (year=1600;j=1 ,year<=2000&&j=1,year++)
 { j=(year%4==0 && year%100!=0 || year%400= =0);
 k=i;
 
}

 for ( , k<=2000 ,k+=4){
printf("%d",k);
i++;
if (i>=4)
printf("/n");
}
呵呵!偷偷懒@

13楼

leap=1或leap=0只做返回值,||的意思是"或"你不会不知道柄吧?

14楼

呵!我说这位学者问的问题是我见过的最有难度的了~,你们都没有加上很好的注释哦~~~
221.222.216.*

15楼

//用一元人民币换成一分,两分,五分的所有悦换方案
#include "stdio.h"
void main()
{
int i,j,k,z=0;
for(i=1;i<100;i++)
for(j=1;j<50;j++)
for(k=1;k<20;k++)
if(1*i+2*j+k*5==100)
{
printf("1=%d,2=%d,5=%d\n",i,j,k);
z++;
}
printf("z=%d",z);
}

221.222.216.*

16楼

/*输出从公元1600年至2000年所有闰年的年号。每5个年号换一行。判断公元年是否为闰年的条件是: 
 (1)元年数如能被4整除,而不能被公100整除,则是闰年; 
 (2)公元年数能被400整除也是闰年。 */
#include "stdio.h"
void main()
{
int i,t=0;
for(i=1600;i<=2000;i++)
{
if(i%4==0&&i%4!=100||i%400==0)
{
printf("闰年%d,",i);
 t++;
if(t==5)
{
printf("\n");
t=0;
}
}
}
}

17楼

2楼的,不是我说你
你自己都搞不懂
#include <stdio.h> 
#include <conio.h>
void main() 

 int year,i=0; 
 for(year=1600;year<=2000;year+=4) 
 { 
 if(year%100!=0||year%400==0) 
 { 
 printf("%d ",year); 
 i++; 
 if(i%5==0) printf("\n"); 
 } 
 } 
getch();
}

18楼

看不懂ing..............

19楼

不要互相攻击
一起进步嘛

61.138.9.*

20楼

我说这位同学啊,这道题是求1600到2000之间的闰年,也就是说是求某个数是不是闰年,这你都看不懂吗?
有什么问题尽管说,

218.93.29.*

21楼

哎,不是哥哥打击你啊,不要学这东西了,有的东西要靠天赋的啊,你肯定也是有你的特长的,不要学了,六个月,这个都不会已经说明了一些问题了!!!
202.193.15.*

23楼

/*输出从公元1600年至2000年所有闰年的年号。每5个年号换一行。判断公元年是否为闰年的条件是: 
 (1)元年数如能被4整除,而不能被公100整除,则是闰年; 
 (2)公元年数能被400整除也是闰年。 */ 
#include "stdio.h" 
void main() 

int i,t=0; 
for(i=1600;i<=2000;i++) 

if(i%4==0&&i%4!=100||i%400==0) 

printf("闰年%d,",i); 
 t++; 
if(t%5==0) 

printf("\n"); 
 


}

222.162.192.*

24楼

23楼连换行输出都做了!呵呵~~还有人不会吗?

25楼

#include <stdio.h>

int main(void)
{
int year;
for (year = 1600; year <= 2000; year += 4)
{
if ((!(year % 4)) && year % 100)
printf("%d\t", year);
else if (!(year % 400))
printf("%d\t", year);
else continue;
}
system("pause");
return 0;
}

26楼

刚才忘了加注释老……

#include <stdio.h>

int main(void)
{
int year;
for (year = 1600; year <= 2000; year += 4) //+=4是为了提高效率,闰年的年份数必定能被4整除
{
if (year % 100) //因为是4年判断一次,所以年份数必然能被4整除,只要判断能不能被100整除就好,能被100整除的话在下面再判断一次即可
printf("%d\t", year);
else if (!(year % 400)) //这里判断能不能被400整除
printf("%d\t", year);
else continue; //不是闰年的话就进行下一轮循环
}
printf("\n");
system("pause"); //输出完后暂停
return 0;
}

27楼

//貌似有2处错……
#include <stdio.h>

int main(void)
{
int year;
for (year = 1600; year <= 2000; year += 4) //+=4是为了提高效率,闰年的年份数必定能被4整除
{
if (!(year % 100)) //因为是4年判断一次,所以年份数必然能被4整除,只要判断能不能被100整除就好,能被100整除的话在下面再判断一次即可(刚才就是错这里……)
printf("%d\t", year);
else if (year % 400) //这里判断能不能被400整除(刚才这里也错老)
printf("%d\t", year);
else continue; //不是闰年的话就进行下一轮循环
}
printf("\n");
system("pause"); //输出完后暂停
return 0;
}

61.178.188.*

28楼

main()
{
int year;
printf("The year is :\");
scanf("%d",&year);
if(year%400==0//(year%4==0&&year%100!=0))
printf("yes");
else if
printf("no");
}

61.178.188.*

29楼

main() 

int year; 
printf("The year is :\"); 
scanf("%d",&year); 
if(year%400==0//(year%4==0&&year%100!=0)) 
printf("yes"); 
else if 
printf("no");

30楼

请编制函数ReadDat()实现从文件IN.DAT中读取1000个十进制整数到数组xx中;请编制函数Compute()分别计算出xx中奇数的个数odd,奇数的平均值ave1,偶数的平均值ave2以及所有奇数的方差totfc的值,最后调用函数WriteDat()把结果输出到OUT.DAT文件中。 
 计算方差的公式如下: 
 
 设N为奇数的个数,xx[i]为奇数,ave1为奇数的平均值。 
 原始数据文件存放的格式是:每行存放10个数,并用逗号隔开。(每个数均大于0且小于等于2000) 

 部分源程序存在文件prog1.c中。 
 本题首先计算奇数和偶数各自的累加和,同时记录奇数的个数。然后在计算平均值的时候要注意odd为0的情况要单独处理。方差则用一个for循环来计算。 
void Compute(void) 
{ int i,yy[MAX]; /*定义局部变量和数组*/ 
 ave1=0;ave2=0; 
 for(i=0;i<MAX;i++) /*设置循环的初始值和终止值*/ 
 if(xx[i]%2!=0) /*判断此数是否为奇数*/ 
 {yy[odd]=xx[i]; /*将奇数存入数组yy中*/ 
 odd++; /*统计奇数个数*/ 
 ave1=ave1+xx[i];} /*计算奇数之和*/ 
 else 
 {even++; /*统计偶数个数*/ 
 ave2=ave2+xx[i];} /*计算偶数之和*/ 
 if(odd==0) /*计算奇数的平均值*/ 
 ave1=0; 
 else 
 ave1=ave1/odd; 
 if(even==0) /*计算偶数的平均值*/ 
 ave2=0; 
 else 
 ave2=ave2/even; 
 for(i=0;i<odd;i++) /*计算所有奇数的方差值*/ 
 totfc+=(yy[i]-ave1)*(yy[i]-ave1))/odd; 

 我最后一步写的是totfc=(yy[i]-ave1)*(yy[i]-ave1))/odd; 
没有写那个"+"号 
我考的是国家网络3级,机试就考一道题.请问C语言是怎么评分的,它能按步骤给我分吗?我能及格吗?

61.171.194.*

31楼

为什么 YEAR+4啊
这样做的话 根本就不需要下面的判断了
你这样是人为的加快判断 但是不合理
如果是从1601年开始算起呢? 你也+4?
这个东西 最多 2礼拜就能做出来了吧
你是不是选修这门颗?

220.169.248.*

32楼

有没有搞错,学了6个月还不会做这个题啊.我在北大青鸟上了1个月就会做;

发表回复

内 容:
用户名:
  
©2010 Baidu 贴吧协议  意见反馈