c语言基础案例
Ⅰ 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;
}
(1)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) ┊ 顶▼ ┊打印┊举报
转载列表:
转载
转载是分享博文的一种常用方式...
前一篇:判断某一年是否为闰年后一篇:企业发放的奖金根据利润提成