写出这个数——《C语言代码笔记》

今天碰到这个题,考到许多小知识点,可为难死博主了。

废话不多说,上题

写出这个数

读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。

输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。

输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。

输入样例:

1234567890987654321123456789

1

1234567890987654321123456789

输出样例:

yi san wu

1

yi san wu

题目解析

输入一个数n,n小于10100

所以我们的n就不能用int定义了,最好选择用字符数组定义

输出的是n的各位之和,但是要用拼音表示所输出的数的每一位

即:如图

程序详解流程图

代码示例

#include<stdio.h> int main() { char* res[]={"ling", "yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu", "shi"}; //定义1-10拼音数组 char num[100]; //用于存放输入的n scanf("%s", &num); int sum=0, i=0, c=0, j=0, b[3]={0}; while(num[i]!='\0')//求和 ,和的范围为(0-900) { sum+=num[i]-'0'; //字符变整型 i++; } for(j=0; j<3; j++)//拆分并保存至长度为3的b数组 { b[j]=sum%10; sum/=10; if(sum==0) break; } while(j>=0) { if(j>0) printf("%s ", res[b[j]]); else printf("%s\n", res[b[j]]);//保证输出格式 j--; } return 0; // }

1234567891011121314151617181920212223242526272829

#include<stdio.h>int main(){    char* res[]={"ling", "yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu", "shi"}; //定义1-10拼音数组     char num[100]; //用于存放输入的n scanf("%s", &num); int sum=0, i=0, c=0, j=0, b[3]={0}; while(num[i]!='\0')//求和 ,和的范围为(0-900) {     sum+=num[i]-'0'; //字符变整型     i++;     }    for(j=0; j<3; j++)//拆分并保存至长度为3的b数组     {        b[j]=sum%10;          sum/=10;         if(sum==0)        break;      }    while(j>=0)    {        if(j>0)        printf("%s ", res[b[j]]);         else        printf("%s\n", res[b[j]]);//保证输出格式         j--;       }    return 0; //}

其他代码

#include<stdio.h> #include <stdlib.h> #include <string.h> void printf_num(int num) { int zonghe[10]; char *name[] ={"ling","yi","er","san","si","wu","liu","qi","ba","jiu","shi"}; int i=0; for(i=0;num>=10;i++){ zonghe[i]=num%10; num=num/10; } zonghe[i++]=num; while(i--){ if(i!=0){ printf("%s ",name[zonghe[i]]); }else{ printf("%s\n",name[zonghe[i]]); } } } int main(){ char n[100]; char *p=n; int sum=0; int i=0; scanf("%s",n); while(*p!='\0'){ sum = sum + (*p - '0'); //(*p - '0')将字符型数字转化为整型数字 p++; } printf_num(sum); return 0; }

12345678910111213141516171819202122232425262728293031323334353637

#include<stdio.h>#include <stdlib.h> #include <string.h>void printf_num(int num){  int zonghe[10];  char *name[] ={"ling","yi","er","san","si","wu","liu","qi","ba","jiu","shi"};  int i=0;  for(i=0;num>=10;i++){    zonghe[i]=num%10;    num=num/10;  }  zonghe[i++]=num;  while(i--){    if(i!=0){      printf("%s ",name[zonghe[i]]);    }else{    printf("%s\n",name[zonghe[i]]);    }  }} int main(){  char n[100];  char *p=n;  int sum=0;  int i=0;   scanf("%s",n);   while(*p!='\0'){    sum = sum + (*p - '0');  //(*p - '0')将字符型数字转化为整型数字    p++;  }  printf_num(sum);  return 0;}

运行截图


注意事项

1.拼音不要写错

2.输出格式要牢记,以及%c ,%s的应用

3.return 0;


本次分享就到这里,如有兴趣请关注小文’s blog

如果你有C语言难题可以在评论区留言,博主将在第二天为您讲解

如有任何意见请留言或者评论,本人一定采取。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏我和未来有约会

Silverlight第三方控件专题

这里我收集整理了目前网上silverlight第三方控件的专题,若果有所遗漏请告知我一下。 名称 简介 截图 telerik 商 RadC...

4045
来自专栏hbbliyong

WPF Trigger for IsSelected in a DataTemplate for ListBox items

<DataTemplate DataType="{x:Type vm:HeaderSlugViewModel}"> <vw:HeaderSlug...

4064
来自专栏落花落雨不落叶

canvas画简单电路图

63111
来自专栏大内老A

The .NET of Tomorrow

Ed Charbeneau(http://developer.telerik.com/featured/the-net-of-tomorrow/) Exciti...

31810
来自专栏张善友的专栏

LINQ via C# 系列文章

LINQ via C# Recently I am giving a series of talk on LINQ. the name “LINQ via C...

2655
来自专栏Ceph对象存储方案

Luminous版本PG 分布调优

Luminous版本开始新增的balancer模块在PG分布优化方面效果非常明显,操作也非常简便,强烈推荐各位在集群上线之前进行这一操作,能够极大的提升整个集群...

3185
来自专栏陈仁松博客

ASP.NET Core 'Microsoft.Win32.Registry' 错误修复

今天在发布Asp.net Core应用到Azure的时候出现错误InvalidOperationException: Cannot find compilati...

4868
来自专栏我和未来有约会

Kit 3D 更新

Kit3D is a 3D graphics engine written for Microsoft Silverlight. Kit3D was inita...

2576
来自专栏张善友的专栏

Miguel de Icaza 细说 Mix 07大会上的Silverlight和DLR

Mono之父Miguel de Icaza 详细报道微软Mix 07大会上的Silverlight和DLR ,上面还谈到了Mono and Silverligh...

2717
来自专栏芋道源码1024

熔断器 Hystrix 源码解析 —— 断路器 HystrixCircuitBreaker

本文主要基于 Hystrix 1.5.X 版本 1. 概述 2. HystrixCircuitBreaker 3. HystrixCircuitBreaker....

5327

扫码关注云+社区