东北大学C语言期末题库1
29题号题目第几题1编写一个售货机(POS)计算程序,用于水果店售货员算账。苹果每千克3.2元,梨每千克1.96元,香蕉每千克3元,樱桃每千克24元。某顾客购买1.5斤苹果,2斤梨,3斤香蕉,1.5斤樱桃,付给售货员100元。要求规范输出这位顾客购买各类水果的名称,对应的重量和应付价钱,显示顾客所付款项,输出应找回的款项。
12编写一个程序,对输入的一组整数,分别统计其中正整数和负整数的个数(0作为结束标志)。
13统计100-500之间各个数字之和为9的三位数,输出这些三位数。例如351的各个数字之和为9。
14编程求1-1000之间的所有完数(完数定义:一个数恰好等于它的除自身外的所有因子之和)。
#include
main()
{
int i,n,sum;
for(i=2;i<1000;i++)
{
sum=1;
for(n=2;n<=i/2;n++)
if(i%n==0)
sum=sum+n;
if(i==sum)
printf("%d\n",i);
}
}15已知银行整存整取存款不同期限的利率分别为:3.30%期限半年;3.50%期限一年;4.40%期限二年;5.00%期限三年;5.50%期限五年;到期利息税为5%。要求输入存取的本金和期限,求到期能从银行得到的利息、本金及总和。#include
int main() {
double capital,accrual;
int year,flag;
printf("本金 存储年数:\n");
while(scanf("%lf%d",&capital,&year) == 2) {
accrual = 0;
flag = 1;
switch(year) {
case 1 : accrual = 1 * capital * 0.63 / 100; break;
case 2 : accrual = 2 * capital * 0.66 / 100; break;
case 3 : accrual = 3 * capital * 0.69 / 100; break;
case 5 : accrual = 5 * capital * 0.75 / 100; break;
case 8 : accrual = 8 * capital * 0.84 / 100; break;
default : flag = 0; printf("输入错误!\n"); break;
}
if(flag) printf("%d年,本金利息和为:%.2lf\n",year,capital + accrual);
printf("本金 存储年数(q to quit):\n");
}
return 0;
}16输入三角形的三边长,判断这个三角形是否是直角三角形。#include
int main()
{
int a, b, c;
printf("输入三边:");
scanf("%d%d%d", &a, &b ,&c);
if (a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)
printf("yes!\n");
else
printf("no!\n");
return 0;
}17输入一串字符(以回车键结束),统计其中数字、大写字母、小写字母以及其他字符的个数。#include "stdio.h"
main()
{char c,sum1=0,sum2=0,space=0,number=0,other=0;
c=getchar();
while(c!='\n')
{
if(c>='A'&&c<='Z') sum1++;
else if(c>='a'&&c<='z') sum2++;
else if(c>='0'&&c<='9') number++;
else if(c==' ') space++;
else other ++;
c=getchar();
}
printf("%d,%d,%d,%d,%d",sum1,sum2,space,number,other);
}18编写程序: