#include <stdioh>
int main(){
int n,s=0;
while(s<10000){
scanf("%d",&n);
s+=n;
printf("目前捐款总和%d元\n",s);
}
return 0;
}
思路: 分解每位的数,带上权重
#include <stdioh>#include <stdlibh>
#include "stringh"
void convert_num(int n,char buf)
{
switch(n)
{
case 0:
sprintf(buf,"%s","零");
break;
case 1:
sprintf(buf,"%s","一");
break;
case 2:
sprintf(buf,"%s","二");
break;
case 3:
sprintf(buf,"%s","三");
break;
case 4:
sprintf(buf,"%s","四");
break;
case 5:
sprintf(buf,"%s","五");
break;
case 6:
sprintf(buf,"%s","六");
break;
case 7:
sprintf(buf,"%s","七");
break;
case 8:
sprintf(buf,"%s","八");
break;
case 9:
sprintf(buf,"%s","九");
break;
}
}
void convert(int n,int power,char buf)
{
char temp[5]={"\0"};
convert_num(n,temp);
switch(power)
{
case 0:
sprintf(buf,"%s",temp);
break;
case 1:
sprintf(buf,"%s十",temp);
break;
case 2:
sprintf(buf,"%s百",temp);
break;
case 3:
sprintf(buf,"%s千",temp);
break;
case 4:
sprintf(buf,"%s万",temp);
break;
case 5:
sprintf(buf,"%s十",temp);
break;
case 6:
sprintf(buf,"%s百",temp);
break;
case 7:
sprintf(buf,"%s千",temp);
break;
}
}
int main(int argc, char argv[]) {
char c[10]={"\0"};
char v[50]={"\0"};
scanf("%s",c);
int len=strlen(c);
int i,power;
for(i=0;i<len;i++)
{
char buf[10]={"\0"};
convert(c[i]-'0',len-i-1,buf);
strcat(v,buf);
}
printf("\n\n%s",v);
return 0;
}
首先,你需要学会c语言的基础语法,那么你就可以写一些简单的程序了。想要进阶就要进一步深入学习算法等。其次,学习编程语言必须要有兴趣,兴趣不够很容易半途而废。
格式的话,养成良好的缩进习惯有助于别人和自己更容易看懂代码。
推荐一本书<<c primer plus>>写的很不错。
你还需要安装ide,推荐安装vs2012。
:
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
#include <iostream>
#include <string>
#include <stdlibh>
using namespace std;
string ConvertMoneyCaps(long double moneySum)
{
long int temp_i = (long int)moneySum; /// 整数部分 /
float temp_f = moneySum - temp_i; /// 小数部分 /
int digit = 0, i, j, k, num_i;
string money("");
char num[20], p;
char name[][3] = {"元","拾","佰","仟","万","亿"};
char numchar[][3] = {"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
ltoa(temp_i, num, 10); /// 整数部分转换成字符串后在处理 /
p = num;
digit = strlen(num); /// 整数部分位数 /
///--------处理整数部分 start--------/
for(i = 1; i <= digit; i ++)
{
k = (digit - i) % 4;
if(isdigit(p))
{
num_i = p & 0xF; /// 把字符转换成数字,比如 '0'-> 0,'1' -> 1/
///--------转换数字开始---------/
if(num_i)
{
money = money+ numchar[num_i];
}
else
{
if(k && ((p + 1) &0xF))
money += "零";
}
///--------转换数字结束-------/
///---------添加计数单位开始----/
if(k)
{
if(num_i)
money = money + name[k];
}
else
{
j = digit - i;
if(j)
money = money + name[j/4 + 3];
else
money += "元";
}
///--------添加计数单位结束--------/
p++;
}
else
{
money = "遇到非数字退出!";
return money;
}
}
///--------处理整数部分 End --------/
///--------处理小数部分 start--------/
if(temp_f > 001)
{
if((int)(temp_f10)) money = money + numchar[(int)(temp_f10)] + "角";
if((int)(temp_f100)%10) money = money + numchar[(int)(temp_f100)%10] + "分";
}
///--------处理小数部分 End--------/
money += "整";
return money;
}
int main()
{
long double x = 3320;
cout << "please input the money:";
cin >> x;
cout << "Convert Money Caps:";
string money = ConvertMoneyCaps(x);
cout << money <<endl;
return 0;
}
1写代码。这是最基础的一步,即实现C语言的源文件(c,必需),和可能的头文件(h,非必需)。
2编译。将编写好的代码,通过编译工具,转换为目标文件。此步中,会对文件内部及包含的头文件进行语法语义的分析检查。如果出错,则必须返回到一步对代码进行修改,直到没有错误为止。
3链接。将目标文件链接成可执行文件。此步会对文件直接的关联进行检查。如果出错需要返回到1修改代码。直到没有错误。
4运行。这个是最后一步,也是C语言的最终目的。
5在运行结果与期望不符时,需要检查原因,修改代码,重新执行一二三直到程序没有问题。
(1)语言简洁、紧凑灵活。二十八个关键字、九种控制语句,程序形式自由,运算符丰富。三十四种运算符。
(2)数据类型丰富,具有现代语言的各种数据结构。
(3)C程序的主要结构是函数,是完全模块化和结构化的语言。
(4)允许直接访问物理地址,能进行位 *** 作,能实现汇编语言的大部分功能,可直接对硬件进行 *** 作。兼有高级和低级语言的特点。
(5)程序可移植性好(与汇编语言比)。基本上不做修改就能用于各种型号的计算机和各种 *** 作系统。
(6)目标代码质量高,程序执行效率高。只比汇编程序生成的目标代码效率低10%-20%。
(7)语法限制不太严格,程序设计自由度大。
以上就是关于编写C语言程序全部的内容,包括:编写C语言程序、在c语言环境中,将数字转化为金额的程序怎么写,如将12345转化为一万两千三百四十五,求解、如何编写C语言程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)