A. C語言編程題目
10.
main()
{
int n,i;
printf("\nplease input a number:\n");
scanf("%d",&n);
printf("%d=",n);
for(i=2;i<=n;i++)
{
while(n!=i)
{
if(n%i==0)
{ printf("%d*",i);
n=n/i;
}
else
break;
}
}
printf("%d",n);
getch();
}
B. C語言編程題
參考原始問題
第一問解答:
voidwrite_line(void)
{
intextra_spaces,spaces_to_insert,i,j;
extra_spaces=MAX_LINE_LEN-line_len;
for(i=0;i<line_len;i++){
if(line[i]!='')
putchar(line[i]);
else{
spaces_to_insert=extra_spaces/(num_words-1);
for(j=1;j<=spaces_to_insert+1;j++)
putchar('');
extra_spaces-=spaces_to_insert;
num_words--;
}
}
putchar(' ');
}
//修改為
voidwrite_line(void)
{
staticboolright=true;
intextra_spaces,spaces_to_insert,i,j;
extra_spaces=MAX_LINE_LEN-line_len;
for(i=0;i<line_len;i++){
if(line[i]!='')
putchar(line[i]);
else{
if(right)
spaces_to_insert=extra_spaces/(num_words-1);
else
spaces_to_insert=(extra_spaces+num_words-2)/(num_words-1);
for(j=1;j<=spaces_to_insert+1;j++)
putchar('');
extra_spaces-=spaces_to_insert;
num_words--;
}
}
putchar(' ');
right=!right;
}
第二問解答
voidread_word(char*word,intlen)
{
intch,pos=0;
while((ch=read_char())=='')
;
while(ch!=''&&ch!=EOF){
if(pos<len)
word[pos++]=ch;
ch=read_char();
}
word[pos]='