C语言求带剧情中文字幕ed2k!!

16:23:40 提问
这是一个oj题,要求为输入一个整形,然后将此整形数每一位上的数字翻译为英文并用"-"连接:sample input:12sample output:one-two
代码如下:
#include &stdio.h&
int main(){
int //输入t,表示有t组测试数据
int count = 0;
int bit[100]; //储存将要输入的"num"的每一位数字的数组
scanf("%d",&t);
while(t --){
scanf("%d",&num);
for(int i = 0;i & 32;i ++) //32是题目要求输入的num长度不超过32
if(num != 0){
bit[i] = num % 10;
num /= 10;
for(int j = 0 &= j --){
switch(bit[j]){
printf("zero-");
printf("one-");
printf("two-");
printf("three-");
printf("four-");
printf("five-");
printf("six-");
printf("seven-");
printf("eight-");
printf("nine-");
default:break;
printf("\b\n"); //将结尾的"-"删除并换行
问题在于,无论输入什么数,输出的结果总会在最前面多出此数位数个"zero-":
请问该如何debug?已经卡了好几小时了
公开 一 公开后不可再设置为私密
私密 一 仅自己可见
版权所有: 红黑联盟--IT精英由此起航
内容来自互联网,仅供用于技术学习,请遵循相关法律法规.黑客不作恶.
注册新账号
用Email注册
手机号 或 Email
√记住登录状态带参数的宏定义有如下的格式:
【#define 指令----带参数的宏】 #define 标识符(x1,x2,&&,xn)
其中& x1,x2,&&xn是标志符(宏的参数)
注意:在宏的名字和括号之间必修没有空格。
如果有空格,预处理会认为是在定义一个简单的宏,其中(x1,x2,&&,xn)是替换列表的一部分
当预处理器遇到一个带参数的宏,会将定义存储起来以便以后使用。在后面的程序中,如果任何地方出现了标识符(y1,y2&&,yn)格式的宏调用(其中y1,y2, &&yn是一些列标记),预处理器会使用替换列表替代,并使用yi替换xi
e.g. 假如我们定义了如下的宏:
#define MAX(x,y)
((x)&(y) ? (x) : (y))
#define IS_EVEN(n)
((n)%2==0)
下面的例子是一个更加复杂的宏:
#define TOUPPER(c)
('a'&=(c) && (c)&='z' ? (c)-'a'+'A' : (c))
带参数的宏可以包含空的参数列表,如下所示:
#define getchar() getc(stdin)
空的参数列表不是一定确实需要,但可以使getchar更像一个函数
使用带参数的宏替代实际的函数有两个优点:
程序可能会稍微快些。一个函数调用在执行时通常会有些额外开销----存储上下文信息、复制参数的值等。而一个宏的调用则没有这些运行开销
宏会更&通用&。与函数的参数不同,宏的参数没有类型。因此,只要预处理后的程序依然合法的,宏可以接受任何类型的参数。 e.g.我们可以使用MAX宏从两个数中选出较大的一个,数的类型可以是:int,long int,float,double等等
编译后的代码通常会变大。每一处宏调用都会导致插入宏的替换列表,由此导致程序源代码增加(因此编译后的代码变大)。宏使用得越频繁,这种效果就越明显。当宏调用嵌套时,这个问题会相互叠加从而使程序更加复杂。e.g. n=MAX(i,MAX(j,k));
下面是预处理后的这条语句:&&&&&&
n=((i)&(((j)&(k)?(j):(k)))?(i):(((j)&(k)?(j):(k))));
宏参数没有类型检查。
无法用一个指针来指向一个宏
宏可能会不止一次地计算它的参数。函数对它的参数只会计算一次,而宏可能会计算两次甚至更多。如果参数有副作用,多次计算参数的值可能会产生意外的结果
考虑下面的例子,其中MAX的一个参数有副作用:
n=MAX(i++, j)
下面是这条语句在预处理之后的结果:
n=((i++) &(j)?(i++):(j));
带参数的宏不仅适用于模拟函数的调用,他们特别经常被作为模板,来处理我们经常要重复书写代码段:
e.g.我们可以使用
#define PRINT_INT(x)
printf("%d\n",x);
使得PRINT_INT(x)代替每次使用的printf("%d\n",x);
转自http://www.cnblogs.com/cpoint/p/3367386.html
阅读(...) 评论()已解决问题
急!!!求一个简单的C语言计算器程序.....
提问时间: 15:32:05
急!!!求一个简单的C语言计算器程序.....
浏览次数:2087
,b)返回整数型判断操作符分支表达式为加法c=a+b分支表达式为减法c=a-b,操作符。原理很简单不管是什么语言的都是这个原理定义变量a为整数型定义变量b为整数型定义变量c为整数型运算符就是默认的不用自定义了如果需要的不一样就定义运算符变量为文本型加入判断判断输入的文本字符然后分支表达的的结果进行输出写函数函数名(a。printf(&E!chushuwei0&;\}return0:printf(&),data2!chushuwei0&+';&#39,data2:printf(&&#92,&&#47.h&;);;\n%d-%d=%d&/;intmain(void){intdata1;);data2);&#92,data1%data2);n%d/Ecase&#39:if(data2==0)printf(&,&data2),data1/注意输入时操作数与运算符之间要用空格隔开;,data1*data2);,data2;charop:&,data1,data1+data2);printf(&quot,data1;\Pleaseinputdata1opdata2;;n%d%%%d=%d&quot,data2;elseprintf(&n%d+%d=%d&*&#39,data1;case'scanf(&elseprintf(&quot:if(data2==0)printf(&%d%c%d&n%d*%d=%d&quot,&data1;%&#39,data1-data2)#include&lt,data2;case'/%d=%d&case&#39,data2,data1。
答案创立者
以企业身份回答&
快速解决你的电商难题
店铺优化排查提升2倍流量
擅长&nbsp 店铺优化
您可能有同感的问题"c语言怎么取整"的糗事
你可能感兴趣:
糗事百科为大家收集了很多的c语言怎么取整的糗事,各种关于c语言怎么取整的爆笑经历、尴尬时刻和开心视频,想持续关注c语言怎么取整的糗事就收藏本页吧.
扫码下载糗事百科app没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!

我要回帖

更多关于 带女友回母校 求婚 的文章

 

随机推荐