一、字符清理函数
如果写出这样的函数所打印的数值为
#include<stdio.h>
int main()
{
int a = 10;
char x;
scanf("%d", &a);
scanf("%c", &x);
printf("%d %c", a, x);
}
这个代码只会运行第一个scanf后面就不会运行了,想要解决这个问题有两个方法代码如下
#include<stdio.h>
int main()
{
int x = 10;
char a ;
scanf("%d", &x);
getchar();
scanf("%c", &a);
printf("%d %c", x, a);
return 0;
}
第二种
#include<stdio.h>
int main()
{
int a = 10;
char x;
scanf("%d", &a);
scanf("%*c%c", &x);
printf("%d %c", a, x);
}
二、puts和gets
#include<stdio.h>
int main()
{
char a[5];
gets(a);
printf("%s", a);
return 0;
}
gets是一个输入字符串函数以\0结束;
puts是输出函数主要输出字符串的
#include<stdio.h>
int main()
{
char a[5];
gets(a);
puts(a);
//printf("%s", a);
return 0;
}
if语句
这是一个判断语句如果为1就输出下面的语句比如
#include<stdio.h>
int main()
{
printf("请输入你的成绩\n");
float a = 0.0;
scanf("%f", &a);
if (a < 0 || a>100)
printf("你输入的成绩有误重新输入谢谢\n");
else
{
if (a <= 100 && a > 90)
printf("A");
else
{
if (a <= 90 && a > 80)
printf("B");
else
{
if (a <= 80 && a > 70)
printf("C");
else
{
if (a <= 70)
printf("不及格");
}
}
}
}
return 0;
}
一下是成绩判断代码
if判断后面只能对应第一行如果有2行以及以上就是需要加{}
switch函数
我使用switch和if语句一个成绩表格
#include<stdio.h>
int main()
{
printf("请输入你的成绩\n");
float a = 0.0;
scanf("%f", &a);
if (a < 0 || a>100)
printf("你输入的成绩有误重新输入谢谢\n");
else
{
switch ((int)a / 10)
{
case 10:
printf("A");
break;
case 9:
printf("A");
break;
case 8:
printf("B");
break;
default:
printf("不及格");
}
}
}