c语言案例分析
㈠ 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语言字符输入时的缓冲区问题。