C语言求阶乘程序无法执行

\u672c\u4ebac\u8bed\u8a00\u521d\u5b66\u8005\u6211\u60f3\u505a\u4e00\u4e2a\u9636\u4e58\u8fd0\u7b97\u7684\u7a0b\u5e8f\uff0c\u4f46\u662f\u65e0\u6cd5\u8fd0\u884c\uff0c\u6211\u627e\u4e0d\u51fa\u6765\u9519\uff0c\u671b\u5927\u795e\u5e2e\u5fd9\uff01\uff01\uff01

\u628awhile(n==1) \u6539\u4e3a while(n>=1)\uff0c\u5426\u5219\u7684\u8bdd\uff0c\u5982\u679c\u4f60\u8f93\u5165\u7684\u662f5\uff0c\u90a3\u7b2c\u4e00\u6b21\u6267\u884c\u5faa\u73af\u7684\u65f6\u5019\u6761\u4ef6\u5c31\u4e0d\u6210\u7acb\uff0c\u6839\u672c\u5c31\u6ca1\u8fdb\u884c\u9636\u4e58\u7684\u8fd0\u7b97\u3002
\u8fd8\u6709\uff0c\u90a3\u4e2awhile(0) { \u8fd9\u4e24\u4e2a\u53bb\u4e86\u5427\uff0c\u753b\u86c7\u6dfb\u8db3\uff0c\u8fd8\u6dfb\u9519\u4e86\uff0cwhile\uff080\uff09\u8fd9\u6761\u4ef6\u6c38\u8fdc\u90fd\u4e0d\u4f1a\u6210\u7acb\u3002\u6539\u5b8c\u540e\u7684\u51fd\u6570\u4f53\uff1a
int n;
int count=0; //\u5176\u5b9ecount\u53d8\u91cf\u5b9a\u4e49\u7684\u6ca1\u7528\uff0c\u53ef\u4ee5\u53bb\u6389
long op=1;

printf("Please input the n for jiecheng:\n");
scanf("%d",&n);
while(n>= 1)
{
op=op * n;
n=n - 1;
count++; //\u5982\u679c\u4e0a\u9762\u7684count\u5b9a\u4e49\u53bb\u6389\uff0c\u90a3\u4e48\u8fd9\u6761\u4e5f\u53ef\u4ee5\u53bb\u6389\u4e86
}
printf("THE n!is %ld",op);
return 0; //\u4f60\u8fd9\u4e2a\u5730\u65b9\u539f\u6765\u7f3a\u5c11\u4e2a\u5206\u53f7

/*\u8be5\u7a0b\u5e8f\u8c03\u5f0f\u901a\u8fc7*/
#include

#define n 5 /*\u8be5\u503c\u81ea\u5b9a*/
main()
{
int cnt=n,i=1;
do
{
i*=cnt;
}while(--cnt);
printf("%d\n",i);
getch();
}

首先你可以先指定一个n,看看输出的结果是不是正确
我觉得逻辑上应该没问题
如果输出的正确
那就是scanf有问题
因为scanf会把你输入的数字和\n当成两个数存入变量中

你这个程序不是求和的嘛,阶乘不是从1一直乘到N吗。
sacnf函数中去掉"\n"
sum = 1;
sum = sum + i 该给sum = sum * i;
你在试试。还有,最好不要用goto。
for(i = 1; i <= n; i ++)
{
sum = sum * i;
}
或者
while(i <= n)
{
sum = sum * i;
i ++;
}

#include <stdio.h>
void main()
{
int i,n,sum=0;
i=1;
printf("please input the n:");
scanf("%d",&n);
loop: if(i<=n)
{sum=sum*i;
i++;
goto loop;}
printf("%d\n",sum);
getch();

}

你这是求和啊

  • C璇█姹傞樁涔樼▼搴忔棤娉曟墽琛
    绛旓細棣栧厛浣犲彲浠ュ厛鎸囧畾涓涓猲锛岀湅鐪嬭緭鍑虹殑缁撴灉鏄笉鏄纭 鎴戣寰楅昏緫涓婂簲璇ユ病闂 濡傛灉杈撳嚭鐨勬纭 閭e氨鏄痵canf鏈夐棶棰 鍥犱负scanf浼氭妸浣犺緭鍏ョ殑鏁板瓧鍜孿n褰撴垚涓や釜鏁板瓨鍏ュ彉閲忎腑
  • 鎴戠敤閫掑綊璋冪敤姹傞樁涔鐩稿姞,涓轰粈涔堢紪璇戞病闂,杩愯鍗存樉绀哄仠姝㈠伐浣淿鐧惧害...
    绛旓細浣犵殑姹傞樁涔鍜岀殑閫掑綊C璇█绋嬪簭,鍥犱负涓や釜閫掑綊鍑芥暟sum鍜宖ac閮芥病鏈夊啓閫掑綊缁堟鏉′欢,鎵浠ュ嚭閿.鍙﹀,浣犵殑绋嬪簭杩樻湁涓涓棶棰,鎴戞病甯綘鏀(閭f牱鏀瑰姩灏辨瘮杈冨浜),灏辨槸褰搉姣旇緝澶ф椂(澶х害瓒呰繃8)杩斿洖鐨勯樁涔樺拰浼氳秴杩囨暣鍨媔nt鍙橀噺鐨勮寖鍥,瀵艰嚧鏁版嵁婧㈠嚭,鎵浠ユ渶濂芥妸sum鍜宖ac鍑芥暟鐨勮繑鍥炲奸兘鏀规垚long闀挎暣鍨,鐢氳嚦long long鍨...
  • c璇█缂栫▼姹傚悇闃朵箻涔嬪拰,杩愯绐楀彛鎻愮ず宸插仠姝㈠伐浣?
    绛旓細鑲畾瓒婄晫浜嗭紝鍏夋槸20锛=2.432902008脳10^18锛屽氨瓒呭嚭int鐨勮寖鍥翠簡銆傚彟澶栵紝姣忎竴涓闃朵箻锛屼笉杩囨槸鍓嶄竴涓啀涔樹互鍚庣画鐨勬暟锛屾病鏈夊繀瑕佺敤涓涓惊鐜崟鐙璁$畻銆
  • 鑷繁鍋氱殑c璇█姹傞樁涔浠g爜,杈撳叆5,杩愯缁撴灉0?
    绛旓細瑙e喅鏂规硶锛 瑕佷箞鏀规垚double鐨 姹傝繎浼煎 瑕佷箞锛屾敼鏁扮粍妯℃嫙楂樼簿搴﹀ぇ鏁拌繍绠銆傞潪甯告劅璋㈡偍鐨勮愬績瑙傜湅锛屽鏈夊府鍔╄閲囩撼锛岀鐢熸椿鎰夊揩锛佽阿璋紒
  • 姹傞樁涔鐨c璇█绋嬪簭杩愯涓嶅?
    绛旓細鍑芥暟姝g‘銆俻rintf("&d\n",factorial(n));鍐欓敊浜嗭紝搴旇鏄痯rintf("%d\n",factorial(n));鈥斺斿嵆鎶&鎹㈡垚%銆傝緭鍏ヤ笉瓒呰繃13锛屽惁鍒欎細婧㈠嚭鍑洪敊銆
  • c璇█缂栧啓鐨姹傞樁涔鐨绋嬪簭涓轰粈涔堜竴杩愯灏卞嚭鐜扮▼搴忛敊璇,闇瑕佸叧闂
    绛旓細int main(void) 閲岀殑return(0);鍓嶅姞涓婁竴鍙etc();鎴栬卻ystem("pause");灏卞彲浠ヤ簡涓 澶у閮借В鍐充簡鎴戦檮涓婂彟涓绉嶆眰鏇村ぇ鐨勬暟瀛楃殑闃朵箻鏂瑰紡渚涘ぇ瀹朵氦娴 / 鍦C璇█閲寀nsigned long int鍨嬬殑鐨勬暣鏁扮殑浠呭彲琛ㄧず0锝4294967295涔嬮棿鐨勬暟锛岃12! = 479001600锛13! = 6227020800銆傚彲瑙侊紝鐢╱nsigned long int鍨嬬殑...
  • 鐢c璇█姹n鐨闃朵箻绋嬪簭鐨勯掓帹涓庨掑綊娉曞涓,璋冭瘯娌¢敊璇絾鏄繍琛屼笉浜,涓轰綍...
    绛旓細绗竴涓 i搴旇浠1寮濮嬪惂 绗簩涓 娌$湅鍑烘潵 鏈変粈涔堥棶棰 浣嗘槸鎴戝彂鐜 浣犺矊浼间袱涓绋嬪簭閮芥病鏈夎緭鍏ュ惂 娌¤緭鍏ユ庝箞浼氳繍琛
  • c璇█绋嬪簭闂,甯垜鐪嬩笅杩欎釜浠绘剰鏁扮殑闃朵箻绋嬪簭閭i噷鏈夐敊銆傛垜杩愯,杈撳叆鏁...
    绛旓細浣犲ソ锛屽師鍥犳槸浣犲湪while璇彞鍚庨潰澶氭墦浜嗕竴涓垎鍙凤紝浣縲hile杩涘叆浜嗘寰幆锛屾墍浠ユ墠娌℃湁缁撴灉锛屽鍥
  • C璇█鐨闃朵箻姹傛暀,鎵句笉鍑洪敊璇,缂栬瘧娌℃湁閿欒,杩愯缁撴灉涓嶅銆
    绛旓細printf("%d",&s);//杩欓噷杈撳嚭鐨勬槸鍦板潃锛屽鏋滀笉鎯崇敤鎸囬拡鍋氬缓璁綘鏀规垚printf("%d\t",s); return s;}void main(){ int ans,x;//鍥犱负闃朵箻鍙兘瑕佹眰浣嶆暟澶氫竴鐐规墍浠ュ缓璁綘鏀规垚long int printf("Please input one num:\n"); scanf("%d",&x); ans=myfac_n(x); printf("%d",ans);} ...
  • c璇█绠100鐨闃朵箻 缁撴灉鍙堝灏戜釜0 绋嬪簭鎬庝箞缂栬瘧涓嶈繃
    绛旓細涓嬮潰鏄绋嬪簭锛歩nclude <stdio.h> int main(int argc, char *argv[]){ // 璁$畻 n 鐨闃朵箻 int n=100;// x 缁熻鍥犲瓙 2 鍑虹幇鐨勬鏁帮紝y 缁熻鍥犲瓙 5 鍑虹幇鐨勬鏁 int x=0,y=0;int i,t;for(i=1; i<=n; i++){ t = i;while(t%2 == 0){ x++;t/=2;} while(t%5 == 0){...
  • 扩展阅读:c十十编程要学多久 ... c#编写程序求n的阶乘 ... c++编程入门自学 ... c++入门程序代码 ... c++编程 ... c语言输入一个整数求阶乘 ... c十十编程用什么软件 ... 学c#有前途吗 ... c十十入门编程课程视频 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网