文章目录
规则:
- C语言除号’ / '左右都是整数,得到的结果也是整数
- 在C语言中1/i=0;而1.0/i=实型,因为有一个数据是实型数据,最后的结果也是实型
1.编写程序判断某一年是否为闰年?
能被4整除不能被100整除,或被400 整除
#include <stdio.h>
int main() {
int year;
scanf("%d",&year);
if((year%4==0&&year%100!=0)||(year%400==0))
//能被4整除(==0)且(&&)不能被100整除(!=0)或(||)能被400 整除
printf("%d是闰年\n",year);
else
printf("%d不是闰年\n",year);
return 0;//如果开头是void main(),就不用加
}
2.编写程序,输入A,B,C,D时显示不同字符串,输入其他显示Error(要求用switch实现)
#include <stdio.h>
int main()
{
char ch;
scanf("%c",&ch); //ch=getchar()获取字符
switch(ch)
{
case 'A':printf("spring\n");break;
case 'B':printf("summer\n");break;
case 'C':printf("Autumn\n");break;
case 'D':printf("winter\n");break;
default :printf("Error");//这句break为最后一句加不加都行
}
return 0;
}
3.编写程序求解一元二次方程(ax2+bx+c=0)的根
#include <stdio.h>
#include <math.h>//要想使用开方,必须引用math.h
int main()
{
float a,b,c,d,x1,x2;
printf("请输入系数:\n");
scanf("%f%f%f\n",&a,&b,&c);//默认输入时为空格空开
d=b*b-4*a*c;//判别式b^2-4ac
if(d>0)
{
x1=(-b+sqrt(d)/2*a);
x2=(-b-sqrt(d)/2*a);
printf("%.2f,%.2f\n",x1,x2);//%f默认保留6位小数,%.2f保留2位小数
}
if(d==0)//C语言中:==为等于
{
x1=x2=-b/2*a;
printf("%.2f\n",x1);
}
if(d<0)
printf("无实根");
return 0;
}
4.编写程序计算1+2+3+4+5
#include <stdio.h>
//while循环
int main()
{
int i,sum=0;
while(i<6)
{
sum += i;//sum=sum+i;
i++;
}
printf("%d\n",sum);
return 0;
}
//for循环
int main()
{
int i, sum=0;
for(i=1;i<6;i++)//记得给i说明变量类型
{
sum += i;
}
printf("%d\n",sum);
return 0;
}
5.编写程序计算1+3+5+7+9
#include <stdio.h>
//简单写法
int main()
{
int i,sum=0;//求和一般定义两个变量,sum要求有初值
for(i=1;i<10;i+=2)//记得给i说明变量类型
{
sum += i;
}
printf("%d\n",sum);
return 0;
}
//奇数写法
int main()
{
int i,sum=0;//求和一般定义两个变量,sum要求有初值
for(i=1;i<6;i++)//记得给i说明变量类型
{
sum +=2*i-1;
}
printf("%d\n",sum);
return 0;
}
6.编写程序计算1-3+5-7+9
#include <stdio.h>
int main(void)
{
int i,k=1,sum=0;//k这个变量表示符号
for(i=1;i<10;i+=2)
{
sum += k*i;
k=-k;//这行代码代表正负循环,表示符号,负负得正,只负责1和-1的循环
}
printf("sum=%d\n",sum);
return 0;
}
7.编写程序1-1/3+1/5-1/7+1/9
#include <stdio.h>
int main(void)
{
int i,k=1;//k这个变量表示符号
float sum=0;
for(i=1;i<10;i+=2)
{
sum=sum+1.0/(k*i);
//因为在C语言中1/i=0;而1.0/i=实型,因为有一个数据是实型数据,最后的结果也是实型
k=-k;
}
printf("sum=%.2f\n",sum);//默认保留2位
return 0;
}
8.编写程序5!
#include <stdio.h>
int main(void)
{
int i;
long p=1;//因为是阶乘,所以最后结果过大,所以定义为
for(i=1;i<6;i++)
{
p=p*i;//1*2*3*4*5
}
printf("阶乘=%d\n",p);
return 0;
}
int main()
{
int i;
long p=1;//因为是阶乘,所以最后结果过大,所以定义为
for(i=5;i>0;i--)
{
p=p*i;//5*4*3*2*1
}
printf("阶乘=%d\n",p);
return 0;
}
9.编写程序1!+2!+3!+4!+5!
#include <stdio.h>
int main(void)
{
int i,p=1,sum=0;
for(i=1;i<6;i++)
{
p=p*i;//用p实现阶乘
sum=sum+p;//实现阶乘相加
//错误写法:sum=sum+p*i
}
printf("sum=%d\n",sum);
return 0;
}
10.编写程序5+55+555+5555+55555
#include <stdio.h>
int main(void)
{
int i,num=5,sum=0;
for(i=1;i<6;i++)
{
sum=sum+num;//先加5,再加下面新增加的数
num=num*10+5;//它们之间的关系:第一个数*10+5=第二个数
}
printf("sum=%d\n",sum);
return 0;
}
//除数方法
int main(void)
{
int num=55555,sum=0;
while(num!=0)
{
sum=sum+num;//先加55555,再加下面增加的
num=num/10;//两边为整数,结果也为整数
}
printf("sum=%d\n",sum);
return 0;
}
花神博客生涯之C语言( 题库上篇 )结束了哦~
接下来会持续更新(⊙o⊙)!