今日学习了while循环和switch。
今日练习如下:
1.将输入的大写字母转换成小写,小写字母转成大写,当输入#后停止
#include<stdio.h>
int main()
{
char a;
int i=1;
while(i)
{
scanf("%c",&a);
if(a=='#')
{
i=i-1;
}
else
{
if(a>='A'&&a<='Z')
{
a=a+32;
printf("%c\n",a);
}
else if(a>='a'&&a<='z')
{
a=a-32;
printf("%c\n",a);
}
else
{
printf("ÊäÈë´íÎó\n");
}scanf("%c",&a);
}
}
}
2.输入任意数字,判断是否是完数,当输入字符时结束判断
#include<stdio.h>
int main()
{
int i;
int a;
int sum;
while(scanf("%d",&a))
{
sum=0;
for(i=1;i<a;i++)
{
if(a%i==0)
{
sum+=i;
}
}
if(sum==a)
{
printf("%dÊÇÍêÊý\n",a);
}
else
{
printf("%d²»ÊÇÍêÊý\n",a);
}
}
}
3.编写一个程序,要求用户输入两个浮点数,并打印两数之差除以两数乘积的结果。在用户输入非数字之前,程序应循环处理用户输入的每对值。
#include<stdio.h>
int main()
{
printf("ÇëÊäÈëÁ½¸ö¸¡µãÊý£º\n");
float a,b;
while(scanf("%f%f",&a,&b))
{
printf("½á¹ûΪ%f\n",(a-b)/(a+b));
}
}
4.编写一个程序,要求用户输入一个上限整数和一个下限整数,计算从上限到下限范围内所有整数的平方和,并显示计算结果。然后程序继续提示用户输入上限和下限整数,并显示结果,直到用户输入的上限整数等于或小于下限整数为止。
#include<stdio.h>
int main()
{
int a,b,c,d;//a<b
while(scanf("%d%d",&a,&b))
{
int sum=0;
d=b-a;
for(c=1;c<=d+1;c++)
{
sum=sum+a*a;
a++;
}
printf("%d",sum);
}
}
5.用户输入年月,控制台输出这个月有多少天。
#include<stdio.h>
int main()
{
int year,month;
scanf("%d%d",&year,&month);
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:printf("31天");break;
case 4:
case 6:
case 9:
case 11:printf("30天");break;
case 2:if((year%100==0&&year%4==0)||year%100!=0&&year%4==0)
{
printf("29天");
}
else
{
printf("28天");
}
break;
}
}
6.求s=1 +2 +3……+n,当加到第几项时,s的值会超过1000?
#include<stdio.h>
int main()
{
int i=1;
int j=0;
while(j<1000)
{
j=j+i;
i=i+1;
}
printf("%d\n",i-1);
}