1、输出从公元1600年至2000年所有闰年的年号,每输出5个年号换一行,判断公元年是闰年的条件:⑴、公元年数如能被4整除,而不能被100整除,则是闰年;⑵公元年数能被400整除的也是闰年。
2、编写函数把数组中所有奇数放在另一个数组中返回。
3、编写函数对字符数组中的字母,按由大到小的字母顺序进行排序。
[此贴子已经被作者于2005-1-15 15:13:35编辑过]
----------------解决方案--------------------------------------------------------
抛砖引玉~先写最简单的第一题,请各位检查:
#include <stdio.h>
void main() { int year,sum=0,i;
for(year=1600;year<=2000;year++) { if( (!(year%4) && (year%100)) || !(year%400) ) { printf("%d ",year); sum++; }
if( sum==5 ) { printf("\n"); sum=0; } } getch(); }
----------------解决方案--------------------------------------------------------
谢谢谢谢,关于数组的要怎么做啊?
----------------解决方案--------------------------------------------------------
自己想想先咯,帮你做完就不好玩了
----------------解决方案--------------------------------------------------------
恩,自己当然也会想~
----------------解决方案--------------------------------------------------------
哎~~~那我就贴出来把,不过仅供参考哦 第二题 #include <stdio.h> #define N 10
void trade(int *a,int *b) { int i,j; for(i=j=0;i<N;i++) if( *(a+i)%2 ) *(b+j)=*(a+i),j++; return; } void main() { int a[N],b[N],i;
/*数组b清零*/ for(i=0;i<N;i++) b[i]=0;
/*输入N个数字*/ for(i=0;i<N;i++) scanf("%d",&a[i]);
/*把数组a中所有奇数放在数组b中*/ trade(a,b);
/*打印数组b*/ for(i=0;i<N;i++) printf("%d ",b[i]);
getch(); } 第三题 #include <stdio.h>
void paopao(char *words) { int i,j; char temp;
for(i=0;i<strlen(words);i++) for(j=i+1;j<strlen(words);j++) if(words[i]<words[j]) { temp=words[i]; words[i]=words[j]; words[j]=temp; } }
void main() { char words[255];
gets(words); paopao(words); printf("%s",words); getch(); }
[此贴子已经被作者于2005-1-15 17:45:38编辑过]
----------------解决方案--------------------------------------------------------
我好菜啊! 怎么都写不短! 这是我的第三道题的程序,那位朋友可以帮我修改一下啊!在这里先谢谢了! #include <stdio.h> void main(){ int i,j,k,l=0,m; char a[20],b[20],c,d;
printf("Input the letters:\n"); for(i=0;i<20;i++){ scanf("%c",&a[i]); if(a[i]=='\n') break; } j=i; for(i=0;i<j;i++){ printf("%c",a[i]); } printf("\n");
c=a[0]; for(i=0;i<j;i++){ if(a[i]<c) c=a[i]; } if(c>='a'&&c<='z'){ d=c; } else if(c>='A'&&c<='Z'){ d=c+32; } d=d-1; for(m=0;m<j;m++){ c=d; l=k=-1; for(i=0;i<j;i++){ if(a[i]>='a'&&a[i]<='z'&&(a[i])>c){ c=a[i]; l=i; } else if(a[i]>='A'&&a[i]<='Z'&&(a[i]+32)>c){ c=a[i]+32; k=i; } } if(l<k){ b[m]=c-32; a[k]=d; } else{ b[m]=c; a[l]=d; } } printf("The queue laid from big to small is:\n"); for(m=0;m<j;m++){ printf("%c",b[m]); } printf("\n");
}
----------------解决方案--------------------------------------------------------
抛砖引玉~先写最简单的第一题,请各位检查:
#include <stdio.h>
void main() { int year,sum=0,i;
for(year=1600;year<=2000;year++) { if( (!(year%4) && (year%100)) || !(year%400) ) { printf("%d ",year); sum++; }
if( sum==5 ) { printf("\n"); sum=0; } } getch(); }
for(year=1600;year<=2000;year+=4)
{
if( (year%100) || !(year%400) )
{
----------------解决方案--------------------------------------------------------
for(year=1600;year<=2000;year+=4)
闰年好象不一定是每四年一次哦~~~~~
----------------解决方案--------------------------------------------------------
是不是每四年一次我不知道,但是,和你的结果没什么区别吧?
----------------解决方案--------------------------------------------------------