[此贴子已经被作者于2007-5-13 23:31:33编辑过]
[此贴子已经被作者于2007-5-13 23:31:33编辑过]
代码如下:
#include<iostream>
using namespace std;
void main()
{
char s[10]; //设置数组,最大长度为10;
cout<<"输入数字:\t";
cin>>s;
int i=0,l=0; //设置两个记数器;
while(s[i]=='0') //防止地第一位元素为0;
{
i++;
}
for(int n=i;s[n]!='.';) //变量L是为了记录该数字的位数;
{
l++;
n++;
}
for(;s[i]!='.';i++) //整数部分
{
switch(s[i]) //对数字进行分类操作
{
case'1':cout<<"一";break;
case'2':cout<<"二";break;
case'3':cout<<"三";break;
case'4':cout<<"四";break;
case'5':cout<<"五";break;
case'6':cout<<"六";break;
case'7':cout<<"七";break;
case'8':cout<<"八";break;
case'9':cout<<"九";break;
case'0':
{
if(s[i+1]=='.') break;
else if(s[i-1]!='0') {cout<<"零";break;}
}
}
if(s[i]!='0') //0的话不需要读出位数
{
switch(l) //对位数进行分类操作
{
case 9 :cout<<"亿";break;
case 8 :cout<<"千万";break;
case 7 :cout<<"百万";break;
case 6 :cout<<"十万";break;
case 5 :cout<<"万";break;
case 4 :cout<<"千";break;
case 3 :cout<<"百";break;
case 2 :cout<<"十";break;
default:break;
}
}
l--;
}
cout<<"元"; //最后输出单位“元”;
i++;
for(n=0;s[i]!='\0';i++) //小数部分
{
switch(s[i])
{
case'1':cout<<"一";n++;break;
case'2':cout<<"二";n++;break;
case'3':cout<<"三";n++;break;
case'4':cout<<"四";n++;break;
case'5':cout<<"五";n++;break;
case'6':cout<<"六";n++;break;
case'7':cout<<"七";n++;break;
case'8':cout<<"八";n++;break;
case'9':cout<<"九";n++;break;
case'0':n++;break;
}
if(s[i]!='0') //因为小数后只有两个单位;
{
if(n==1) cout<<"角";
else if(n==2) cout<<"分";
}
}
cout<<"整";
cout<<endl;
}
1. 设计一个学生类,该类的功能是输入一个班每个学生的学号、姓名及各门课程的成绩,并能计算每个学生的总成绩及平均成绩、每门课程的总成绩及平均成绩。这里学生的人数和课程数待定(由用户输入)。并设计完整的程序进行演示。(提示在程序中使用对象数组实现)。
代码如下:
#include<iostream>
using namespace std;
void main()
{
char s[10]; //设置数组,最大长度为10;
cout<<"输入数字:\t";
cin>>s;
int i=0,l=0; //设置两个记数器;
while(s[i]=='0') //防止地第一位元素为0;
{
i++;
}
for(int n=i;s[n]!='.';) //变量L是为了记录该数字的位数;
{
l++;
n++;
}
for(;s[i]!='.';i++) //整数部分
{
switch(s[i]) //对数字进行分类操作
{
case'1':cout<<"一";break;
case'2':cout<<"二";break;
case'3':cout<<"三";break;
case'4':cout<<"四";break;
case'5':cout<<"五";break;
case'6':cout<<"六";break;
case'7':cout<<"七";break;
case'8':cout<<"八";break;
case'9':cout<<"九";break;
case'0':
{
if(s[i+1]=='.') break;
else if(s[i-1]!='0') {cout<<"零";break;}
}
}
if(s[i]!='0') //0的话不需要读出位数
{
switch(l) //对位数进行分类操作
{
case 9 :cout<<"亿";break;
case 8 :cout<<"千万";break;
case 7 :cout<<"百万";break;
case 6 :cout<<"十万";break;
case 5 :cout<<"万";break;
case 4 :cout<<"千";break;
case 3 :cout<<"百";break;
case 2 :cout<<"十";break;
default:break;
}
}
l--;
}
cout<<"元"; //最后输出单位“元”;
i++;
for(n=0;s[i]!='\0';i++) //小数部分
{
switch(s[i])
{
case'1':cout<<"一";n++;break;
case'2':cout<<"二";n++;break;
case'3':cout<<"三";n++;break;
case'4':cout<<"四";n++;break;
case'5':cout<<"五";n++;break;
case'6':cout<<"六";n++;break;
case'7':cout<<"七";n++;break;
case'8':cout<<"八";n++;break;
case'9':cout<<"九";n++;break;
case'0':n++;break;
}
if(s[i]!='0') //因为小数后只有两个单位;
{
if(n==1) cout<<"角";
else if(n==2) cout<<"分";
}
}
cout<<"整";
cout<<endl;
}
干嘛不用数组来储存这些汉字呢
设一个班级有n(n<100)个学生,每个学生选修m(m<5)门课程,学生有学号、姓名两个属性,请设计一个类描述学生及每门课程的成绩。并实现:
(1)设计一个成员函数实现学生成绩的录入和计算该学生各门课程的总成绩和平均成绩;
(2)设计一个成员函数计算全班学生各门课程的平均成绩并显示;
(3)设计一个成员显示每个学生各门课程的总成绩和平均成绩;
(4)设计一个函数按学生的平均成绩进行降序排序;
(5)设计一个函数输出排序结果。