求解!!!用C语言实现两个整数的除法运算(M除以N,M<N),要求精度到小数点后指定的K位,请高手指教 C语言编程:输入两个正整数m和n,求它们的最大公约数。

\u600e\u4e48\u7528C\u8bed\u8a00\u4ee3\u7801\u5b9e\u73b0\u8d85\u9ad8\u7cbe\u5ea6\u7684\u5927\u6570\u636e\u9664\u6cd5\u8fd0\u7b97\uff1f\u8981\u6c42\u7ed3\u679c\u4fdd\u7559\u5230\u5c0f\u6570\u70b9\u540e\u6709\u4e24\u4f4d

#include #include #define MAX_LEN 200char a[MAX_LEN + 10];char b[MAX_LEN + 10];int va[MAX_LEN + 10]; //\u88ab\u9664\u6570, an1[0]\u5bf9\u5e94\u4e8e\u4e2a\u4f4dint vb[MAX_LEN + 10]; //\u9664\u6570, an2[0]\u5bf9\u5e94\u4e8e\u4e2a\u4f4dint vc[MAX_LEN + 10]; //\u5b58\u653e\u5546\uff0caResult[0]\u5bf9\u5e94\u4e8e\u4e2a\u4f4d//\u957f\u5ea6\u4e3a nLen1 \u7684\u5927\u6574\u6570p1 \u51cf\u53bb\u957f\u5ea6\u4e3anLen2 \u7684\u5927\u6574\u6570p2//\u7ed3\u679c\u653e\u5728p1 \u91cc\uff0c\u8fd4\u56de\u503c\u4ee3\u8868\u7ed3\u679c\u7684\u957f\u5ea6//\u5982\u4e0d\u591f\u51cf\u8fd4\u56de-1\uff0c\u6b63\u597d\u51cf\u5b8c\u8fd4\u56de 0 //\u4e0b\u9762\u5224\u65adp1 \u662f\u5426\u6bd4p2 \u5927\uff0c\u5982\u679c\u4e0d\u662f\uff0c\u8fd4\u56de-1int Substract( int * p1, int * p2, int nLen1, int nLen2){ int i; if( nLen1 = 0; i -- ) { if( p1[i] > p2[i] ) break; //p1>p2 else if( p1[i] =nLen2 \u65f6\uff0cp2[i] \uff1d 0 p1[i] -= p2[i]; if( p1[i] = 0 ; i-- ) if( p1[i] )//\u627e\u5230\u6700\u9ad8\u4f4d\u7b2c\u4e00\u4e2a\u4e0d\u4e3a0 return i + 1; return 0;//\u5168\u90e8\u4e3a0\uff0c\u8bf4\u660e\u4e24\u8005\u76f8\u7b49}int main(){ freopen("test.txt","r",stdin); int test; scanf("%d",&test); while(test--){ scanf("%s", a); scanf("%s", b); int i, j; int lena = strlen(a); memset( va, 0, sizeof(va)); memset( vb, 0, sizeof(vb)); memset(vc, 0, sizeof(vc)); for( j = 0, i = lena - 1;i >= 0 ; i --) va[j++] = a[i] - '0'; int lenb = strlen(b); for( j = 0, i = lenb - 1;i >= 0 ; i --) vb[j++] = b[i] - '0'; if( lena 0) { for( i = lena -1; i >= nTimes; i -- ) vb[i] = vb[i-nTimes];//\u671d\u9ad8\u4f4d\u79fb\u52a8 for( ; i >= 0; i--)//\u4f4e\u4f4d\u88650 vb[i] = 0; lenb = lena; } for( j = 0 ; j = 0) { lena = nTmp; vc[nTimes-j]++; //\u6bcf\u6210\u529f\u51cf\u4e00\u6b21\uff0c\u5219\u5c06\u5546\u7684\u76f8\u5e94\u4f4d\u52a01 } } //\u4e0b\u9762\u8f93\u51fa\u7ed3\u679c\uff0c\u5148\u8df3\u8fc7\u9ad8\u4f4d0 for( i = MAX_LEN ; (i >= 0) && (vc[i] == 0); i -- ); if( i >= 0) for( ; i>=0; i--) printf("%d", vc[i]); else printf("0"); printf("\n"); } return 0;}

\u4ee3\u7801\u53ca\u6ce8\u91ca\u5982\u4e0b\uff1a
#include
int GCD(int a,int b)//\u5b9a\u4e49\u51fd\u6570\uff0c\u7528\u6765\u8ba1\u7b97\u6700\u5927\u516c\u7ea6\u6570
{
return b==0?a:GCD(b,a%b);
//\u6b64\u5904\u4f7f\u7528\u4e86\u9012\u5f52\uff0c\u5982\u679cb=0,\u8fd4\u56dea\u4e3a\u6700\u5927\u516c\u7ea6\u6570\uff0c\u5426\u5219\uff0c\u4e00\u76f4\u4ee5b\u4e0ea%b\u8d4b\u7ed9\u51fd\u6570\uff0c\u5b9e\u73b0\u8f97\u8f6c\u76f8\u9664
}
int main()
{
int a, b ; //\u5b9a\u4e49\u5b9e\u53c2a, b
int answer ; //\u5b9a\u4e49\u6700\u540e\u7ed3\u679c
scanf ( "%d%d" , &a, &b) ; //\u53d6a\uff0cb\u7684\u503c
answer = GCD (a, b) ; //\u628a\u7ed3\u679c\u8d4b\u7ed9answer
printf ( "%d\u4e0e%d\u7684\u6700\u5927\u516c\u7ea6\u6570\u4e3a%d\n" , a , b , answer ) ; //\u8f93\u51fa\u7ed3\u679c
}

\u6269\u5c55\u8d44\u6599\uff1a
\u8f97\u8f6c\u76f8\u9664\u6cd5\u6c42\u6700\u5927\u516c\u7ea6\u6570\u7684\u539f\u7406\uff1a
\u56e0\u4e3a\u5bf9\u4efb\u610f\u540c\u65f6\u6574\u9664a\u548cb\u7684\u6570u\uff0c\u6709a=su\uff0cb=tu\uff0c\u5b83\u4e5f\u80fd\u6574\u9664r\uff0c\u56e0\u4e3ar=a-bq=su-qtu=(s-qt)u\u3002
\u53cd\u8fc7\u6765\u6bcf\u4e00\u4e2a\u6574\u9664b\u548cr\u7684\u6574\u6570v\uff0c\u6709 b=sv , r=tv\uff0c\u5b83\u4e5f\u80fd\u6574\u9664a\uff0c\u56e0\u4e3aa=bq+r=svq+tv=(sq+t)v\u3002
\u56e0\u6b64a\u548cb\u7684\u6bcf\u4e00\u4e2a\u516c\u56e0\u5b50\u540c\u65f6\u4e5f\u662fb\u548cr\u7684\u4e00\u4e2a\u516c\u56e0\u5b50\uff0c\u53cd\u4e4b\u4ea6\u7136\u3002
\u8fd9\u6837\u7531\u4e8ea\u548cb\u7684\u5168\u4f53\u516c\u56e0\u5b50\u96c6\u5408\u4e0eb\u548cr\u7684\u5168\u4f53\u516c\u56e0\u5b50\u96c6\u5408\u76f8\u540c\uff0c\u6240\u4ee5a\u548cb\u7684\u6700\u5927\u516c\u56e0\u5b50\u5fc5\u987b\u7b49\u4e8eb\u548cr\u7684\u6700\u5927\u516c\u56e0\u5b50\uff0c\u8fd9\u5c31\u8bc1\u660e\u4e86\u4e0a\u8fb9\u7684\u7b49\u5f0f\u3002\u5373(a,b)=(b,r)\u3002
\u56e0\u800c\uff0c\u53ef\u4ee5\u7531\u6b64\uff0c\u5f97\u5230\u4e24\u4e2a\u6570\u7684\u6700\u5927\u516c\u7ea6\u6570\u3002

这个只要解决整数M/N得到结果是零的问题就好。这里的思路是:表达式运算时C编译系统会将不同数据类型都转换成数据类型中高级的类型,得到的结果也是更高级的类型。例如,表达式数据类型含有float或者double类型,系统运算会都转换成double型在运算,结果也是double型。这里M/N且M<N,在都是int型时会得到0.那么只要把M或者N至少一个强制类型转换为float或double类型就可以实现得到小数。并且规定输出小数位数K位。
语句:c=(double)M/N;
printf("%.Klf",c);

  • 濡備綍鐢–璇█瀹炵幇姹備袱涓姝鏁存暟鐨勬渶澶у叕绾︽暟?
    绛旓細棣栧厛锛屾墦寮浣犵殑C璇█缂栫▼鐜锛屾瘮濡俈isual C++6.0锛屽噯澶囩紪鍐欎竴娈靛濡欑殑浠g爜銆傚湪绋嬪簭鐨勫垵濮嬮樁娈碉紝鏁插嚮閿洏锛岃緭鍏ヤ袱涓緟姹傚叕绾︽暟鐨勬鏁存暟a鍜宐銆</ 涓轰簡绠鍖栬绠楋紝鎴戜滑闇瑕佹壘鍒拌繖涓や釜鏁涓殑杈冨皬鍊硷紝灏嗗叾瀛樺偍鍦ㄥ彉閲弉涓紝杩欐牱鍙互鎻愰珮鏁堢巼銆傛帴涓嬫潵锛屼粠杩欎釜杈冨皬鏁皀寮濮嬶紝閫愭鍑1锛屽鎵捐兘鍚屾椂鏁撮櫎a鍜宐鐨勬暣...
  • 缂栧啓涓涓c璇█绋嬪簭 姹備袱涓暣鏁鐨勬渶澶у叕绾︽暟
    绛旓細涓嬮潰缁欏嚭涓涓浣跨敤C璇█瀹炵幇姹備袱涓暣鏁鐨勬渶澶у叕绾︽暟鐨勭ず渚嬩唬鐮侊細```c include <stdio.h> int gcd(int a, int b);int main() { int a, b, result;printf("璇疯緭鍏ヤ袱涓暣鏁帮細");scanf("%d %d", &a, &b);result = gcd(a, b);printf("涓や釜鏁扮殑鏈澶у叕绾︽暟涓猴細%d", result);return...
  • 鍦C璇█閲,涓や釜鏁存暟鐨勪箻娉曟庝箞瀹炵幇?
    绛旓細鍦C璇█涓紝瀹炵幇涓や釜鏁存暟鐨勪箻娉曡繍绠楅潪甯哥畝鍗曘傚彧闇浣跨敤涔樻硶杩愮畻绗*鍗冲彲銆備互涓嬫槸涓涓畝鍗曠殑绀轰緥锛氬湪杩欎釜绋嬪簭涓紝鎴戜滑棣栧厛瀹氫箟浜嗕笁涓暣鏁板彉閲忥細num1锛宯um2鍜宲roduct銆傜劧鍚庯紝浣跨敤printf鍑芥暟鎻愮ず鐢ㄦ埛杈撳叆涓や釜鏁存暟锛屽苟浣跨敤scanf鍑芥暟璇诲彇鐢ㄦ埛杈撳叆鐨勪袱涓暣鏁般傛帴涓嬫潵锛屾垜浠娇鐢*杩愮畻绗﹁绠楄繖涓や釜鏁扮殑涔樼Н锛屽苟灏嗙粨...
  • C缂栫▼,涓や釜鏁存暟
    绛旓細void main() { int ix,iy;scanf("%d%d",&ix,&iy);printf("%05d\n%05d\n",ix,iy);}
  • C璇█浠庨敭鐩樺嚭鍏涓や釜鏁存暟,姹鍏跺拰銆
    绛旓細C璇█浠庨敭鐩樺嚭鍏涓や釜鏁存暟锛屾眰鍏跺拰锛屽彲浠ュ弬鑰冧笅闈㈢殑浠g爜锛歩nclude<stdio.h> int main(){ int a1, a2;printf("璇疯緭鍏ヤ袱涓暣鏁:");//杈撳叆浠ョ┖鏍奸棿闅 鍥炶溅缁撴潫 scanf_s("%d %d", &a1, &a2);printf("%d+%d=%d\n", a1, a2, a1 + a2);return 0;} ...
  • 3銆鐢╟璇█姹傝В 浠庨敭鐩樿緭鍏涓や釜鏁存暟m,n(鍋囪杈撳叆鐨勬暟m>0,n>0),鍒ゆ柇...
    绛旓細include<stdio.h> int main(){ int m, n,i;scanf("%d %d", &m, &n);i = m % n;if (i == 0) printf("%d %d", m, n);else printf("%d",i);}
  • c璇█,姹備袱涓闈炶礋鏁存暟鐨勬渶澶у叕绾︽暟鍜屾渶灏忓叕鍊嶆暟
    绛旓細a涓巄鏈夋渶澶у叕绾︽暟锛涓や釜鏁存暟鐨勬渶澶у叕鍥犲瓙鍙敤浜庤绠涓ゆ暟鐨勬渶灏忓叕鍊嶆暟锛屾垨鍒嗘暟鍖栫畝鎴愭渶绠鍒嗘暟銆備袱涓暣鏁扮殑鏈澶у叕鍥犲瓙鍜屾渶灏忓叕鍊嶆暟涓瓨鍦ㄥ垎閰嶅緥锛歡cd(a, lcm(b, c)) = lcm(gcd(a, b), gcd(a, c))lcm(a, gcd(b, c)) = gcd(lcm(a, b), lcm(a, c))鍦ㄥ潗鏍囬噷锛屽皢鐐(0, 0...
  • 濡備綍鐢–璇█杈撳叆涓や釜鏁存暟骞姹浣欐暟?
    绛旓細棣栧厛姹浣欐暟鐨勭鍙锋槸%銆傚悓涓哄湪瀛C璇█鐨勫鐢燂紝鏈夎杩囦竴浜涚被浼肩殑棰樼洰:姹傝緭鍏ョ殑涓や釜鏁a闄や互b鐨勪綑鏁般傛垜浠互t浣滀负鏈鍚庢眰鍑虹殑浣欐暟銆傚叿浣撹В棰樻柟娉曞涓嬶細int a,b,t; //杩欓噷鍥犱负姹傚嚭鐨勪綑鏁颁笉鍙兘鏄皬鏁帮紝鎵浠鐢ㄦ暣鍨銆俿canf("%d%d%d",&a,&b,&t)锛泃=a%b; //鏈鏍稿績鐨勫氨鏄繖涓姝ワ紝姹備綑鏁般
  • 姹涓涓鐢╟璇█缂栧啓鐨,缂栧啓鍑芥暟璁$畻涓や釜鏁存暟鐨勬墍鏈夊叕绾︽暟鐨勭紪绋媉鐧惧害...
    绛旓細濂界殑锛屼笅闈㈡槸涓涓鐢–璇█缂栧啓鐨勮绠涓や釜鏁存暟鐨勬墍鏈夊叕绾︽暟鐨勫嚱鏁帮細include <stdio.h> include <stdlib.h> int gcd(int a, int b) { int temp;while (b != 0) { temp = a % b;a = b;b = temp;} return a;} void common_divisors(int a, int b) { int i, max;max = gcd(...
  • 鐢╟璇█姹備袱涓暟鐨勬渶澶у叕绾︽暟
    绛旓細鐢╟璇█姹備袱涓暟鐨勬渶澶у叕绾︽暟鐨勫洖绛斿涓嬶細鍦–璇█涓紝鍙互浣跨敤娆у嚑閲屽緱绠楁硶锛堜篃绉颁负杈楄浆鐩搁櫎娉曪級鏉姹傝В涓や釜鏁扮殑鏈澶у叕绾︽暟銆傝绠楁硶鍩轰簬濡備笅鍘熺悊锛氫袱涓暟鐨勬渶澶у叕绾︽暟绛変簬鍏朵腑杈冨皬鐨勬暟鍜涓ゆ暟鐨勫樊鐨勬渶澶у叕绾︽暟銆備互涓嬫槸鐢–璇█瀹炵幇姹備袱涓暟鐨勬渶澶у叕绾︽暟鐨勪唬鐮侊細include<stdio.h>intgcd(inta,intb){...
  • 扩展阅读:c++教程 ... c#入门基础知识 ... c入门教程视频 ... 电脑上θ怎么打 ... c++编程 ... c#一般用来开发什么 ... 国王麦子c语言求解 ... 编程θ怎么打 ... c#主要做什么 ...

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