自学C,有挺多问题的,求指教呀!谢谢
判断某一年是否为闰年#include"stdio.h"
void main()
{
int year,leap;
printf("please enter a year:\n");
scanf("%d",&year);
if(year%4!=0) leap=0;
else if(year%100!=0) leap=1;
else if(year%400!=0) leap=0;
else leap=1;
if(leap) printf("%d is a leap year\n",year); (为什么这里是if(leap),不是 if(leap=1)?)
else printf("%d is not a leap year\n",year);
}
输入一个班全体同学的成绩,把不及格的学生成绩输出,并求学生的平均成绩。假设有5个学生。
#include"stdio.h"
void main()
{
float score,sum=0,average;
int i,n=0;
for(i=1;i<6;i++)
{
printf("please enter score:");
scanf("%f",&score);
if(score<60)
{printf("Fail:%7.2f\n",score);
continue;}
sum=sum+score;
n=n+1; /*程序是怎么得出及格学生的人数的,n是不是和循环的次数有联系?*/
}
average=sum/n;
printf("\nn=%d,average=%7.2f\n",n,average);
}
求数列1,1,2,3,5,8,13,...前40个数的和(费波那西数列)
#include"stdio.h"
void main()
{
long int f1,f2;
int i;
f1=1;f2=1;
for(i=1;i<=20;i++)
{
printf("%12ld%12ld",f1,f2);
if(i%2==0) printf("\n");
f1=f1+f2; f2=f2+f1;
}
}
/*给i赋初值的时候是根据什么来赋的呢?这个我不是很懂*/
/*请问意思是不是每次都是输出f1,f2两个数,然后循环条件就是<=20?*/
/*if(i%2==0) printf("\n");的意思是循环两次就换行吗?*/
#include"stdio.h"
void main()
{
char c;
while((c=getchar())!='\n')
{if((c>='a' && c<='z') || (c>='A' && c<='Z'))
{ c=c+4;
if(c>'Z' && c<='Z'+4 || c>'z') c=c-26; /*为什么这里的小写字母不按大写字
母一样处理?*/
}
printf("%c",c);
}
printf("\n");
}