c語(yǔ)言在線請(qǐng)教
#include <stdio.h>#include"conio.h"void wwjt();long fun(int n){long i,k;long s=1;for(i=2;i<=n;i++)for(k=2;k<i;k++){if(i%k==0)break;if(k==i)s*=i;}return s; }main() { int m; printf("Enter m: "); scanf("%d", &m); printf("The result is %ld", fun(m)); wwjt();}void wwjt(){ FILE *IN,*OUT; int c ; int t; long o; IN=fopen("in.dat","r"); if(IN==NULL) { printf("Read FILE Error"); } OUT=fopen("out.dat","w"); if(OUT==NULL) { printf("Write FILE Error"); } for(c=1;c<=5;c++) { fscanf(IN,"%d",&t); o=fun(t); fprintf(OUT,"%ld",o); } fclose(IN); fclose(OUT);}為什么這個(gè)運(yùn)行的結(jié)果一直都是1,?,??
你的
if(k==i)
位置不對(duì),,它永遠(yuǎn)不可能相等
若k<i時(shí), if(i%k==0) 跳出循環(huán),,執(zhí)行不到if(k==i)
若k==i,循環(huán)結(jié)束了,,也不能執(zhí)行到if(k==i)
雖然不知你程序的目的,但估計(jì)是你的{}寫錯(cuò)了(位置不對(duì),,且漏了)
以下改好的,,可以求素?cái)?shù)的乘積
long fun(int n) {long i,k;long s=1;for(i=2; i<=n; i++) {for(k=2; k<i; k++){if(i%k==0)break;}if(k==i)s*=i;}return s;}
相關(guān)推薦
- 聯(lián)通1800會(huì)對(duì)移動(dòng)900產(chǎn)生互調(diào)干擾嗎
- 女,。1995年農(nóng)歷11月12日約早上十點(diǎn)生的,請(qǐng)高人幫算一下我的婚姻,,事業(yè),,命理等,請(qǐng)盡詳細(xì)易懂,,
- 三宅一生怎么驗(yàn)貨
- 手機(jī)wifi有時(shí)好用,,有時(shí)打不開(kāi),,,開(kāi)了搜索列表里沒(méi)有wifi可連接,開(kāi)關(guān)機(jī)有時(shí)能好,,有時(shí)根本沒(méi)用
- 我該不該阻止她?
- 三文魚(yú)水光針功效
- wifi鏈接問(wèn)題
- 她老人家肚子里的老話特別多縮句
- 三氯生的作用
- 360說(shuō)路由器密碼等級(jí)低要我修改,,改完后手機(jī)外派上不去網(wǎng)怎么辦,,謝謝,