当前位置: 代码迷 >> C语言 >> [求助]作业碰到点问题,各位指点指点,谢谢各位拉,都差不多把我自己给搞晕 ...
  详细解决方案

[求助]作业碰到点问题,各位指点指点,谢谢各位拉,都差不多把我自己给搞晕 ...

热度:100   发布时间:2007-08-10 11:24:57.0
[求助]作业碰到点问题,各位指点指点,谢谢各位拉,都差不多把我自己给搞晕了
第一个是要求排列一些*号
排列样子是这样的
*
***
*****
***
*

然后我写了代码之后。。。试过N次,还是不行,还忘各位帮帮忙
#include<stdio.h>
void main()
{
int a=1,b;
while(a<=5)
{
b=1;
while(b<=a)
{
printf("*");
b++;
}
printf("\n");
a=a+2;
}
a=3;
b=2;
do
{
a=a-2;
printf("*");
}while(a!=b);
}

还有一个非常严重的问题- -!

题目是这样的,输入某年某月某日,判断这一天是这一年的第几天。
要考虑是不是闰年的情况。。。附代码。。已经把我自己都给搞晕了

#include<stdio.h>
void main()
{
int a,b,c,d,e,f,g,h;
printf("输入年月日:");
scanf("%d%d%d",&a,&b,&c);
f=(b==2)?(g=(a%4==0&&a%100!=0)||(a%400==0)?29:28):(h=(b==1||b==3||b==5||b==7||b==8||b==10||b==12)?31:30);
if((a%4==0&&a%100!=0)||(a%400==0))
printf("您输入的是%d年%d月%d日,是今年的第%d天",a,b,c,b*f);
else
printf("您输入的是%d年%d月%d日,是今年的第%d天",a,b,c,b*f);
}
搜索更多相关的解决方案: 作业  printf  

----------------解决方案--------------------------------------------------------
GCC: Compile Error:
Line 3: error: `main' must return `int'
Line 3: error: return type for `main' changed to `int'


第一题练习循环控制,第二题最好用数组
----------------解决方案--------------------------------------------------------
第一题可用循环:
for(i=-2;i<=2;++i)
for(j=0;j<5-abs(i);++j)
.......就行了阿!!


第2个就是month[12]={31,28,.....}就行了阿!
----------------解决方案--------------------------------------------------------
循环控制我试过。。。
排列出是这样的
*
***
*****
*
***
都把自己搞晕了。。。

另外一个闰年不闰年的。。。计算的好复杂。。。
----------------解决方案--------------------------------------------------------
因为我们课程教的也有限。。。
只学到do-while、while、嵌套while,还没学到for循环
闰年的我只能用if、if else if、?:来做。。。其他的还没学到
----------------解决方案--------------------------------------------------------
看过,水过,路过。
----------------解决方案--------------------------------------------------------

晕。。。不用只看嘛。。。
也帮帮我完成作业咯。。。


----------------解决方案--------------------------------------------------------
【程序4】
题目:输入某年某月某日,判断这一天是这一年的第几天?
1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊
      情况,闰年且输入月份大于3时需考虑多加一天。
2.程序源代码:
#include "stdio.h"
#include "conio.h"
main()
{
int day,month,year,sum,leap;
printf("\nplease input year,month,day\n");
scanf("%d,%d,%d",&year,&month,&day);
switch(month) /*先计算某月以前月份的总天数*/
{
case 1:sum=0;break;
case 2:sum=31;break;
case 3:sum=59;break;
case 4:sum=90;break;
case 5:sum=120;break;
case 6:sum=151;break;
case 7:sum=181;break;
case 8:sum=212;break;
case 9:sum=243;break;
case 10:sum=273;break;
case 11:sum=304;break;
case 12:sum=334;break;
default:printf("data error");break;
}
sum=sum+day; /*再加上某天的天数*/
if(year%400==0||(year%4==0&&year%100!=0)) /*判断是不是闰年*/
leap=1;
else
leap=0;
if(leap==1&&month>2) /*如果是闰年且月份大于2,总天数应该加一天*/
sum++;
printf("It is the %dth day.",sum);
getch();
}

----------------解决方案--------------------------------------------------------
感谢。。。。太感谢拉。。。
----------------解决方案--------------------------------------------------------
第一铨的:

#include "stdio.h"
#include "conio.h"
main()
{
int i,j,n=3;
for(i=1;i<n;i++)
{
for(j=1;j<=(2*i-1);j++)printf("*");
printf("\n");
}
for(i=n;i>=1;i--)
{
for(j=1;j<=(2*i-1);j++)printf("*");
printf("\n");
}
getch();
}

----------------解决方案--------------------------------------------------------
  相关解决方案