C语言代码出错
#include<stdio.h>#include<string.h>#include<stdlib.h>intmain(){inta,b,c,d,e=0;chartee...
#include<stdio.h>
#include<string.h>
#include <stdlib.h>
int main()
{
int a,b,c,d,e=0;
char teen[][10]={"ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"};
char ones_[][10]={"","one","two","three","four","five","six","seven","eight","nine"};
char tens[][10]={"","","twenty ","thirty ","forty ","fifty ","sixty ","seventy ","eighty ","ninety "};
char y[10]=" hundred ";
char x[5]=" and ";
char final[100];
printf("请输入一个小于1000的正整数\n");
scanf("%d",&a);
b=a/100;
c=a%100;
d=c%10;
e=c/10;
if(a<=0||a>=1000)
printf("Wrongly input!\n");
else
{
if(a<10)
final[100]=ones_[d][10];
else
{
if(c==0)
final[100]=strcat_s(ones_[b][10],sizeof(ones_[b][10]),y[10]);
if(b==0&&d==0)
final[100]=tens[e][10];
if(a>=10&&a<=19)
final[100]=teen[d][10];
if(b==0&&d!=0&&e!=0)
final[100]=strcat_s(tens[e][10],sizeof(tens[e][10]),ones_[d][10]);
if(b!=0&&e==0&&d!=0)
final[100]=strcat_s(ones_[b][10],sizeof(ones_[b][10]),y[10]);
final[100]=strcat_s(final[100],sizeof(final[100]),x[5]);
final[100]=strcat_s(final[100],sizeof(final[100]),ones_[d][10]);
if(b!=0&&e!=0&&d==0)
final[100]=strcat_s(ones_[b][10],sizeof(ones_[b][10]),y[10]);
final[100]=strcat_s(final[100],sizeof(final[100]),x[5]);
final[100]=strcat_s(final[100],sizeof(final[100]),tens[e][10]);
if(b!=0&&c>=10&&c<=19)
final[100]=strcat_s(ones_[b][10],sizeof(ones_[b][10]),y[10]);
final[100]=strcat_s(final[100],sizeof(final[100]),x[5]);
final[100]=strcat_s(final[100],sizeof(final[100]),teen[d][10]);
if(b!=0&&e!=0&&d!=0)
final[100]=strcat_s(ones_[b][10],sizeof(ones_[b][10]),y[10]);
final[100]=strcat_s(final[100],sizeof(final[100]),x[5]);
final[100]=strcat_s(final[100],sizeof(final[100]),tens[e][10]);
final[100]=strcat_s(final[100],sizeof(final[100]),ones_[d][10]);
printf("\n%s",final[100]);
}
}
return 0;
}
运行不了 崩了 /(ㄒoㄒ)/~~ 展开
#include<string.h>
#include <stdlib.h>
int main()
{
int a,b,c,d,e=0;
char teen[][10]={"ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"};
char ones_[][10]={"","one","two","three","four","five","six","seven","eight","nine"};
char tens[][10]={"","","twenty ","thirty ","forty ","fifty ","sixty ","seventy ","eighty ","ninety "};
char y[10]=" hundred ";
char x[5]=" and ";
char final[100];
printf("请输入一个小于1000的正整数\n");
scanf("%d",&a);
b=a/100;
c=a%100;
d=c%10;
e=c/10;
if(a<=0||a>=1000)
printf("Wrongly input!\n");
else
{
if(a<10)
final[100]=ones_[d][10];
else
{
if(c==0)
final[100]=strcat_s(ones_[b][10],sizeof(ones_[b][10]),y[10]);
if(b==0&&d==0)
final[100]=tens[e][10];
if(a>=10&&a<=19)
final[100]=teen[d][10];
if(b==0&&d!=0&&e!=0)
final[100]=strcat_s(tens[e][10],sizeof(tens[e][10]),ones_[d][10]);
if(b!=0&&e==0&&d!=0)
final[100]=strcat_s(ones_[b][10],sizeof(ones_[b][10]),y[10]);
final[100]=strcat_s(final[100],sizeof(final[100]),x[5]);
final[100]=strcat_s(final[100],sizeof(final[100]),ones_[d][10]);
if(b!=0&&e!=0&&d==0)
final[100]=strcat_s(ones_[b][10],sizeof(ones_[b][10]),y[10]);
final[100]=strcat_s(final[100],sizeof(final[100]),x[5]);
final[100]=strcat_s(final[100],sizeof(final[100]),tens[e][10]);
if(b!=0&&c>=10&&c<=19)
final[100]=strcat_s(ones_[b][10],sizeof(ones_[b][10]),y[10]);
final[100]=strcat_s(final[100],sizeof(final[100]),x[5]);
final[100]=strcat_s(final[100],sizeof(final[100]),teen[d][10]);
if(b!=0&&e!=0&&d!=0)
final[100]=strcat_s(ones_[b][10],sizeof(ones_[b][10]),y[10]);
final[100]=strcat_s(final[100],sizeof(final[100]),x[5]);
final[100]=strcat_s(final[100],sizeof(final[100]),tens[e][10]);
final[100]=strcat_s(final[100],sizeof(final[100]),ones_[d][10]);
printf("\n%s",final[100]);
}
}
return 0;
}
运行不了 崩了 /(ㄒoㄒ)/~~ 展开
2个回答
展开全部
方法:
1.对于新手来说,最开始犯的错误就是容易忘记写Main函数头。不管是C 还是java都是不能缺少的。一切语言从main开始。下面报错会提示你找不到头。
2.然后就是 ; 号了,虽然很不起眼但是却很重要,缺少了就不可以。不仅仅是缺少了不行就是你输入的是中文状态下的分号依然不可以。C对中文还是很敏感的。
3.再就是大括号的封闭问题了,很多同学刚刚写程序的时候往往只写上一半大括号,把下一半大括号忘记了。这是最基本的也是最常见的错误。
4.有的程序要求需要输出东西,这时候你却把printf语句忘写了,这是一种大意,这个失误,编译软件不会给你报错,往往你还认为自己明明写对了,怎么就是运行不出来结果。有时候原因就是出现在这里。
5.有的同学又有疑问了。我明明也写上printf语句了,但是还是没有运行出来结果啊,这时候你就应该检查一下,你告诉编译软件你想输出哪个变量的值了吗
6.有的同学还在纠结于那个return语句是写呢还是不写呢,小影要说的是这要看看你的程序是哪一种类型的了,看看需要带回返回值吗,如果需要就写如果不需要就不用写了,小影写的这个就是不需要,所以没有影响
7.附上一张运行正确的图,做个参照
1.对于新手来说,最开始犯的错误就是容易忘记写Main函数头。不管是C 还是java都是不能缺少的。一切语言从main开始。下面报错会提示你找不到头。
2.然后就是 ; 号了,虽然很不起眼但是却很重要,缺少了就不可以。不仅仅是缺少了不行就是你输入的是中文状态下的分号依然不可以。C对中文还是很敏感的。
3.再就是大括号的封闭问题了,很多同学刚刚写程序的时候往往只写上一半大括号,把下一半大括号忘记了。这是最基本的也是最常见的错误。
4.有的程序要求需要输出东西,这时候你却把printf语句忘写了,这是一种大意,这个失误,编译软件不会给你报错,往往你还认为自己明明写对了,怎么就是运行不出来结果。有时候原因就是出现在这里。
5.有的同学又有疑问了。我明明也写上printf语句了,但是还是没有运行出来结果啊,这时候你就应该检查一下,你告诉编译软件你想输出哪个变量的值了吗
6.有的同学还在纠结于那个return语句是写呢还是不写呢,小影要说的是这要看看你的程序是哪一种类型的了,看看需要带回返回值吗,如果需要就写如果不需要就不用写了,小影写的这个就是不需要,所以没有影响
7.附上一张运行正确的图,做个参照
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询