ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

编程2总结

2019-02-28 19:50:06  阅读:256  来源: 互联网

标签:总结 case 编程 break chu && printf op


币值转换 (20 分)

输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式。如23108元,转换后变成“贰万叁仟壹百零捌”元。为了简化输出,用小写英文字母a-j顺序代表大写数字0-9,用S、B、Q、W、Y分别代表拾、百、仟、万、亿。于是23108元应被转换输出为“cWdQbBai”元。

输入格式:

输入在一行中给出一个不超过9位的非负整数。

输出格式:

在一行中输出转换后的结果。注意“零”的用法必须符合中文习惯。

输入样例1:

813227345

输出样例1:

iYbQdBcScWhQdBeSf

输入样例2:

6900

输出样例2:

gQjB
一、编程代码
#include<stdio.h>
#include<math.h>
int main()
{
 int yuan,chu_2,chu_1,i,p,a=0;
 char op;
 scanf("%d",&yuan);
 
 chu_1=yuan;
 for(i=-1;chu_1!=0;i++){
  chu_1=chu_1/10;
 }
 int A[i];
 chu_1=yuan;
 for(a=0;chu_1!=0;i--,a++){
  p=pow(10,i);
  chu_2=chu_1/p;
  chu_1=chu_1%p; 
  switch(chu_2){
   case 0:op='a';break;
   case 1:op='b';break;
   case 2:op='c';break;
   case 3:op='d';break;
   case 4:op='e';break;
   case 5:op='f';break;
   case 6:op='g';break;
   case 7:op='h';break;
   case 8:op='i';break;
   case 9:op='j';break;
  }
  A[a]=chu_2;
  if(chu_2==0){
   if(i==6&&A[a-1]!=0)
    printf("W");
   if(i==5&&A[a-1]!=0)
    printf("W");
   if(i==4&&A[a-1]!=0)
    printf("W");
   if(A[a-1]!=0&&i<7)
    printf("%c",op);
  }
  if(chu_2!=0) 
   printf("%c",op); 
  if(i==5&&chu_2!=0)
   printf("S");
  if(i==6&&chu_2!=0)
   printf("B");
  if(i==7&&chu_2!=0)
   printf("Q");   
  if(i==8&&chu_2!=0)
   printf("Y");
  if(i-1>=0&&chu_2!=0&&i-1<=4) 
   switch(i){
    case 1:printf("S");break;
    case 2:printf("B");break;
    case 3:printf("Q");break;
    case 4:printf("W");break;
  }
  }
  if(yuan==0)
   printf("a");
 return 0;
}  二、设计思路 第一步:定义变量表示输入的数据,再定义一个数组,在后面对输入数据的位数进行对应;
第二步:定义两个函数,主要作用是对位数及数字进行对应的转换,利用switch语句进行单个对应转换;
第三步:首先,对输入数据进行位数判断,利用for语句,然后再将这个数利用数组表示;
第四步:接下来就是对这个数的每一位进行判断是否为零,若非零,则分别利用自定义函数进行数字,位数进行对应输出;
第五步:再利用递减原理将这个数从高位到低位输出完为止。

标签:总结,case,编程,break,chu,&&,printf,op
来源: https://www.cnblogs.com/Fpeter814/p/10452706.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有