C语言程序设计

例题总结

1. if语句

(1) 输入一个整数,如果该数大于60,则输出"他是男神" ; 如果该数不大于60,则输出"她是女神" ;

程序如下:

1
2
3
4
5
6
7
8
9
10
11
#include<stdio.h>
int main()
{
int a;
scanf("%d",&a);
if(a>60)
printf("他是男神");
else
printf("她是女神");
return 0;
}



(2) 输入两个实数a、b,按数值由小到大的顺序输出这两个数。

程序如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<stdio.h>
int main()
{
double a, b, c;
scanf("%lf,%lf",&a,&b);
if(a>b)
{
t=a;
a=b;
b=t;
}
printf("%f,%f\n",a,b);
return 0;
}



(3) 输入三个实数a、b、c,按数值由小到大的顺序输出这三个数。

程序如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include<stdio.h>
int main()
{
double a, b, c, t;
scanf("%lf,%lf%lf",&a,&b,&c);
if(a>b)
{
t=a;
a=b;
b=t;
}
if(a>c)
{
t=a;
a=c;
c=t;
}
if(b>c)
{
t=b;
b=c;
c=t;
}
printf("%f,%f,%f\n",a,b,c);
return 0;
}



2. 常见的表达式

1
2
3
4
5
6
7
8
>     大于
>= 大于等于
< 小于
<= 小于等于
== 等于
!= 不等于
&& 两边均满足
|| 两边满足一个



(1) 请编一程序,判断某一年是否是闰年。(注:当年分不是100的倍数且是4的倍数时,该年是闰年;当年分是100的倍数且是400的倍数时,该年也是闰年)

程序如下:

1
2
3
4
5
6
7
8
9
10
11
12
#include<stdio.h>
int main()
{
int a;
printf("请输入年份\n");
scanf("%d",&a);
if((a%100!=0&&a%4==0)||a%400==0)
printf("%d年是闰年\n",a);
else
printf("%d年不是闰年\n",a);
return 0;
}



(2)输入一个字符,判断它是否为大写字母,若是则将其转换成小写字母,若不是则不转换,然后输出最后得到的字符。

程序如下:

1
2
3
4
5
6
7
8
9
10
#include<stdio.h>
int main()
{
char ch;
scanf("%c",&ch);
if(ch>'A'&&ch<='Z')
ch=ch+32;
printf("%c\n",ch);
return 0;
}

3. 表达式1 ? 表达式2 : 表达式3



(1) 输入一个字符,判断它是否为大写字母,若是则将其转换成小写字母,若不是则不转换,然后输出最后得到的字符。

程序如下:

1
2
3
4
5
6
7
8
9
#include<stdio.h>
int main()
{
char ch;
scanf("%c",&ch);
ch=(ch>='A'&&ch<='Z')?(ch+32):ch;
printf("%c\n",ch);
return 0;
}



(2) 输入两个实数a、b,按数值由小到大的顺序输出这两个数。

程序如下:

1
2
3
4
5
6
7
8
#include<stdio.h>
int main()
{
double a,b;
scanf("%lf,%lf",&a,&b);
a>b?printf("%f,%f\n",b,a):printf("%f,%f\n",a,b);
return 0;
}

4. switch语句


(1) 某课成绩原为A、B、C、D 四个等级,现要将其转换成百分制分段数,规则是:A等转成85~100,B等转成70~84,C等转成60~69,D等转成<60。请编一程序,成绩等级由键盘输入,输出分数段。 < blockquote>

程序如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<stdio.h>
int main()
{
char dengji;
scanf("%c",dengji);
switch(dengji)
{
case'A':printf("该生分数为85~100\n");break;
case'B':printf("该生分数为70~84\n");break;
case'C':printf("该生分数为60~69\n");break;
case'D':printf("该生分数为<60\n");break;
default:printf("该生的等级输的不对!\n");break;
}
return 0;
}



(2) 某课成绩原为A、B、C、D 四个等级,现要将其转换成百分制分段数,规则是:A等,B等转成70~100,C等,D等转成<70。请编一程序,成绩等级由键盘输入,输出分数段。 < blockquote>

程序如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<stdio.h>
int main()
{
char dengji;
scanf("%c",dengji);
switch(dengji)
{
case'A':
case'B':printf("该生分数为70~100\n");break;
case'C':
case'D':printf("该生分数为<70\n");break;
default:printf("该生的等级输的不对!\n");break;
}
return 0;
}



(3) 某课成绩原为百分制,现要将其转换成等级,规则是:90分以上为A、80~89分为B、70~79分为C、60~69分为D、60分以下分为E。请编一程序,成绩等级由键盘输入,输出分数段。

程序如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<stdio.h>
int main()
{
double fenshu;
printf("请输入分数: ");
scanf("%lf",&fenshu);
switch((int)(fenshu/10))
{
case 10:
case 9:printf("该生等级为A\n");break;
case 8:printf("该生等级为B\n");break;
case 7:printf("该生等级为C\n");break;
case 6:printf("该生等级为D\n");break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:printf("该生等级为E\n");break;
default:printf("请重新正确输入!\n");break;
}
return 0;
}

5.while语句


(1) 求 2+4+6+……+100

程序如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
#include<stdio.h>
int main()
{
int n=1,sum=0,a=2;
while(n<=50)
{
n=n+1;
sum=sum+1;
a=a+2;
}
printf("计算结束是%d\n",sum);
return 0;
}

(2) 求 2×4×6×……×100

程序如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
#include<stdio.h>
int main()
{
int n=1,chengji=1,a=2;
while(n<=50)
{
n=n+1;
chengji=chengji*a;
a=a+2;
}
printf("计算结束是%d\n",chengji);
return 0;
}




未完待续……
打赏
  • 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!
  • © 2015-2020 Ma Yuliang
  • Powered by Hexo Theme Ayer
  • PV: UV:

请我喝杯咖啡吧~

支付宝
微信