实验一:判断成绩等级。
给定一百分制成绩,要求输出成绩的等级。90以上为A,80-89为B,70-79为C,60-69为D,60分以下为E,输入大于100或小于0时输出“输入数据错误”。 分别用if和用switch语句实现
#include <stdio.h>
int main()
{
int a;
printf("请输入你的分数:\n");
scanf("%d",&a);
if (a<0||a>100)
{
printf("数据输入错误!\n");
}
else if(a>=90)
{
printf("你的成绩为A\n");
}
else if(a>=80)
{
printf("你的成绩为B\n");
}
else if(a>=70)
{
printf("你的成绩为C\n");
}
else if(a>=60)
{
printf("你的成绩为D\n");
}
else
{
printf("你的成绩为E\n");
}
return 0;
}
知识点:
1:if else if语句
#include <stdio.h>
int main()
{
int a,b;
printf("请输入你的成绩:\n");
scanf("%d",&a);
if (a>100||a<0)
{
printf("数据输入错误!\n");
}
else
{
switch (b=a/10)
{
case 10 :
printf("你的成绩为A\n");
break;
case 9 :
printf("你的成绩为A\n");
break;
case 8 :
printf("你的成绩为B\n");
break;
case 7 :
printf("你的成绩为C\n");
break;
case 6 :
printf("你的成绩为D\n");
break;
default :
printf("你的成绩为E\n");
}
}
return 0;
}
知识点;
1:switch语句
2:if语句,内套switch语句
实验总结:
1:else 语句同行结尾不加 ;
2:记得验证
3:case 语句后面只接字符。
实验二:判断整数位数及逆序输出。
输入一个不多于5位数的正整数,判断它是几位数并逆序输出。注意验证数据的合法性。
#include <stdio.h>
int main()
{
int a, b,c,d,e,f,g;
printf("请输入一个数:\n");
scanf("%d",&a);
if (a>=10000&&a<100000)
{
printf("该数是五位数\n");
b=a%10;
c=a/10%10;
d=a/100%10;
e=a/1000%10;
f=a/10000;
g=10000*b+1000*c+100*d+10*e+1*f;
printf("倒序数为:%05d",g);
}
else if (a>=1000&&a<10000)
{
printf("该数是四位数\n");
b=a%10;
c=a/10%10;
d=a/100%10;
e=a/1000;
g=b*1000+c*100+d*10+e*1;
printf("该数的倒序数为:%04d",g);
}
else if (a>=100&&a<1000)
{
printf("该数是三位数\n");
b=a%10;
c=a/10%10;
d=a/100;
g=b*100+c*10+d*1;
printf("该数的倒序数是:%03d",g);
}
else if (a>=10&&a<100)
{
printf("该数是两位数\n");
b=a%10;
c=a/10;
g=b*10+c*1;
printf("该数的倒序数为:%02d",g);
}
else if (a>=0&&a<10)
{
printf("该数为个位数\n");
printf("该数的倒序数为%d",a);
}
else
{
printf("intput error");
}
return 0;
}
知识点:
1:if else if语句
2:求某个数某一位数的值
实验总结:
1:注意分号的放置位置。
2:修饰符的正确使用
3:计算某位数取值时记得验证
实验三:回文数问题
给定一个5位数,判断它是否是回文数。例如:12321是回文数。回文数的特点是个位和万位相同,十位和千位相同。
#include <stdio.h>
int main()
{
int a,b,c,d,e;
printf("请输入一个五位数:\n");
scanf("%d",&a);
b=a%10;
c=a/10000;
d=a/10%10;
e=a/1000%10;
if (b==c&&d==e)
{
printf("该数为回文数");
}
else
{
printf("该数不是回文数");
}
return 0;
}
实验总结:
1:scanf的取地址符&&&&&&&
2:求某一位数的灵活多变
实验四:计算分段函数
y=-x+2.5 0 <= x < 5
y=2-1.5(x-3)(x-3) 5 <= x < 10
y=x/2-1.5 10 <= x < 20
输入x的值(x为整数),输出y的值,结果保留3位小数。
#include <stdio.h>
int main()
{
int x;
float y;
printf("请输入一个数:\n");
scanf("%d",&x);
if (x<0||x>=20)
{
printf("数据输入错误!\n");
}
else if (x>=0&&x<5)
{
y=x+2.5;
printf("y的值为%.03f",y);
}
else if (x>=5&&x<10)
{
y=2-1.5*(x-3)*(x-3);
printf("y的值为%.03f",y);
}
else
{
y=x/2-1.5;
printf("y的值为%.03f",y);
}
return 0;
}
知识点:if else if 语句
实验总结:
1:float的格式字符为f
2:整数做除,只输出整数。
3:保留小数修饰符为 .n