当前位置:首页 » 编程语言 » c语言案例分析

c语言案例分析

发布时间: 2025-04-02 20:13:58

c语言项目案例分析 电子版pdf

㈡ c语言水仙花数

#include <stdio.h>

int main()

{

int start, end, i = 0, a, b, c, size = 0;

while (scanf("%d %d", &start, &end) == 2)

{

for (i = start; i <= end; i++)

{

a = i / 100;

b = i / 10 % 10;

c = i % 10;

//total = pow(c, 3) + pow(a, 3) + pow(b, 3);

if ((a*a*a + b*b*b + c*c*c) == i) //满足水仙花条件

{

if (size == 0) //size=0输出第一个水仙花数

{

printf("%d", i);

}

else //size++输出第二。。第n个水仙花数

{

printf(" %d", i);

}

size++; //个数++;

}

}

if (size == 0) //范围内个数为0,则说明没有满足条件的

{

printf("no");

}

printf(" ");

}

return 0;

}

(2)c语言案例分析扩展阅读:

需要注意的地方:

1.将n整除以100,得出n在百位上的数字hun。

2.将(n-i*100)整除以10(或将n先整除以10再对10求模n/10%10),得出n在十位上的数字ten。

3.将n对10取余,得出n在个位上的数字ind。

4.求得这三个数字的立方和是否与其本身相等,若相等,则该数为水仙花数。

网络-水仙花数

㈢ . 输入百分制的学生成绩,输出A(90-100),B(80-89),C(70-79),D(60-69),E(60分以下)等级C语言题目

案例五:给出一百分制成绩,要求输出成绩等级A,B,C,D,E。90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。

1.程序分析:

设成绩用score表示,并且score为整型数据。若score≥90,score可能是100,99,…90,把这些值都列出来太麻烦了,可以利用两个整数相除,结果自动取整的方法,即当90≤score≤100时,score/10只有10和9两种情况,这样用switch语句来解决便简便了。

程序源代码:

main( )

{

float score:

char grade;

printf(“请输入学生成绩:”);

scanf(“%f”,&score);

while(score>100||score<0)

{

printf(“\n输入有误,请重输。”);

scanf(“%f”,& score);

}

switch((int)( score/10))

{

case 10:

case 9:grade=’A’;break;

case 8:grade=’B’;break;

case 7:grade=’C’;break;

case 6:grade=’D’;break;

case 5:

case 4:

case 3:

case 2:

case 1:

case 0:grade=’E’;

}

printf(“成绩是%5.1f,相应的等级是%c。\n”,socre,grade);

}

5.程序运行结果:

① 请输入学生成绩:90.5

成绩是:90.5,相应的等级是A。

② 请输入学生成绩:59

成绩是:59.0,相应的等级是E。

6.案例扩展:由键盘输入学生成绩等级,输出成绩范围。等级评定同案例相同。

分享 分享到新浪Qing3


阅读(2015)┊ 评论 (0)┊ 收藏(0) ┊转载(0) ┊ 顶▼ ┊打印┊举报

转载列表:
转载
转载是分享博文的一种常用方式...

前一篇:判断某一年是否为闰年后一篇:企业发放的奖金根据利润提成

㈣ C语言 字符输入 scanf和getchar的区别

一、字符输入格式与函数

在C语言中,字符输入有两种主要方式:scanf与getchar。

1. scanf

scanf是通用输入函数,可以从标准输入流读取多个字符并存储至对应变量。输入多个变量时,通过空格、TAB或回车键分隔。

2. getchar

getchar从标准输入流读取单个字符。首次需要人工输入,后续调用会直接读取缓冲区内容,无需再次输入。

二、stdin与缓冲区

stdin是标准输入,通常指键盘输入。缓冲区是内存中为输入或输出数据预留的空间。输入字符进入缓冲区,等待读取。

三、字符输入案例分析

尝试输入字符a和b,发现字符a未被读取。原因在于使用空格分隔时,空格也被读入并存入缓冲区,导致下一个字符输入后读取缓冲区内容。用回车分隔后,字符a被正确读取。

四、解决缓冲区问题

为解决缓冲区问题,可在scanf与字符输入之间添加空格,吸收分隔符。或使用getchar读取缓冲区内容,或使用fflush清空缓冲区。

实例验证:

在程序中输入字符a和b,用空格或回车分隔,观察输出结果。

正确使用分隔符、getchar或fflush可有效解决C语言字符输入时的缓冲区问题。

热点内容
流媒体服务器搭建公司 发布:2025-04-03 18:54:15 浏览:811
抓屏源码 发布:2025-04-03 18:35:59 浏览:943
聚集索引sqlserver 发布:2025-04-03 18:25:13 浏览:495
凑十算法 发布:2025-04-03 18:25:13 浏览:521
wifi密码忘了怎么改 发布:2025-04-03 18:16:57 浏览:750
androidshell脚本 发布:2025-04-03 18:09:24 浏览:565
跳伞需要什么配置 发布:2025-04-03 18:00:13 浏览:209
什么配置性能好 发布:2025-04-03 17:52:48 浏览:746
什么安卓区平板性价比高 发布:2025-04-03 17:46:38 浏览:259
三星如何取消指纹解锁密码 发布:2025-04-03 17:22:03 浏览:898