輸出短少求解? 謝謝
#include <stdio.h>
main()
{
int num[20] , pwr[20];
int m, i, j, k = 0; //m 待測數 i 因數 j次方數 k陣列號碼
int a; //印出來用 的變數
while(scanf("%d", &m) == 1)
{
i = 2;
while (m != 1)
{
if(m % i == 0)
{
num[k] = i;
for(j = 0; m % i == 0; j++)
m /= i;
pwr[k++] = j;
}
i++;
}
break;
}
for(a = 0; a < k; ++a)
{
printf("%d", num[a]);
if(pwr[a] != 1)
printf("^%d", pwr[a]);
if(a != k-1 ) //最後一ㄍ 後面沒有 不用印
printf(" * ");
}
}
輸出短少求解? 謝謝
#include
main()
{
int num[20] , pwr[20];
int m, i, j, k = 0; //m 待測數 i 因數 j次方數 k陣列號碼
int a; //印出來用 的變數
while(scanf("%d", &m) == 1)
{
i = 2;
while (m != 1)
{
if(m % i == 0)
{
num[k] = i;
for(j = 0; m % i == 0; j++)
m /= i;
pwr[k++] = j;
}
i++;
}
break;
}
for(a = 0; a < k; ++a)
{
printf("%d", num[a]);
if(pwr[a] != 1)
printf("^%d", pwr[a]);
if(a != k-1 ) //最後一ㄍ 後面沒有 不用印
printf(" * ");
}
}
分開測答案對 到底哪裡有問題??QQ
是不是沒換行
#include <stdio.h>
main()
{
int num[20] , pwr[20];
int m, i, j, k = 0;
int a; //印出來用 的變數
while(scanf("%d", &m) == 1)
{
i = 2;
while (m != 1)
{
if(m % i == 0)
{
num[k] = i;
for(j = 0; m % i == 0; j++)
m /= i;
pwr[k++] = j;
}
i++;
}
break;
}
for(a = 0; a < k; ++a)
{
printf("%d", num[a]);
if(pwr[a] != 1)
printf("^%d", pwr[a]);
if(a != k-1 )
printf(" * ");
}
printf("\n");
}
第 1 測資點(100%): WA (line:2)
輸出短少
您共輸出 1 行。
我在devc++答案都對ㄟ 他的測資是分開測三次對吧 求助QQ
#include <stdio.h>
main()
{
int num[20] , pwr[20];
int m, i, j, k;
int a;
while(scanf("%d", &m) != EOF)
{
k = 0;
i = 2;
while (m != 1)
{
if(m % i == 0)
{
num[k] = i;
for(j = 0; m % i == 0; j++)
m /= i;
pwr[k++] = j;
}
i++;
}
for(a = 0; a < k; ++a)
{
printf("%d", num[a]);
if(pwr[a] != 1)
printf("^%d", pwr[a]);
if(a != k-1 )
printf(" * ");
}
printf("\n");
}
}
第 1 測資點(100%): AC (0ms, 72KB)
通過檢測
測資連續測三次 好像是這樣 謝謝
是連續的阿
所以才需要重複輸入
while(scanf("%d", &m) == 1)