c語言程序與設計答案
A. c語言程序設計課後習題解答與實驗指導
#include<stdio.h>
int max(int x,int y,int z)
{
int t;
t=x>y?x:y;
t=t>z?t:z;
return(t);
}
int min(int x ,int y,int z)
{
int t;
t=x<y?x:y;
t=t<z?t:z;
return(t);
}
int aver(int x ,int y,int z)
{
int t;
t=(x+y+z)/3;
return(t);
}
void main()
{ int x,y,z,a,b,c;
scanf("%d,%d,%d",&x,&y,&z);
a=(*max)(x,y,z);
b=(*min)(x,y,z);
c=(*aver)(x,y,z);
printf("%d,%d,%d\n",a,b,c);
}
建議改成:
#include<stdio.h>
int max(int x,int y,int z)
{
int t;
t=x>y?x:y;
t=t>z?t:z;
return(t);
}
int min(int x ,int y,int z)
{
int t;
t=x<y?x:y;
t=t<z?t:z;
return(t);
}
float aver(int x ,int y,int z)
{
int t;
t=(float)((x+y+z)/3.0);
return(t);
}
void main()
{ int x,y,z,a,b;float c;
scanf("%d,%d,%d",&x,&y,&z);
a=(*max)(x,y,z);
b=(*min)(x,y,z);
c=(*aver)(x,y,z);
printf("max=%d\nmin=%d\naver=%g\n",a,b,c);
}
B. c語言程序設計答案
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define MAX_LEN 10
typedef struct _DATA_ {
int value;
_DATA_ *next;
}DATA;
void main()
{
int i;
char ch;
char str[MAX_LEN + 1];
DATA *pdata, *ptem, *ppre;
pdata = (DATA *)malloc(sizeof(DATA));
pdata->next = pdata;
// Input
while (1) {
for (i = 0; i < MAX_LEN; i++) {
ch = (char)getch();
printf("%c", ch);
if (ch == ' ')
break;
str[i] = ch;
}
i = atoi(str);
if (i == -1)
break;
ptem = (DATA *)malloc(sizeof(DATA));
ptem->value = i;
ptem->next = pdata->next;
pdata->next = ptem;
}
// Delete even numbers
ppre = pdata;
ptem = pdata->next;
while (ptem != pdata) {
if (ptem->value % 2 == 0) {
ppre->next = ptem->next;
free(ptem);
ptem = ppre->next;
} else {
ppre = ppre->next;
ptem = ptem->next;
}
}
// Output
printf("\n");
ptem = pdata->next;
while (ptem != pdata) {
printf("%d ", ptem->value);
ptem = ptem->next;
}
printf("\n");
}
C. C語言程序設計答案
#include<stdio.h>
voidmain(){
for(inti=0;i<21;i++)//公雞
for(intj=0;j<34;j++)//母雞
for(intk=0;k<301;k++)//小雞
{
if((i+j+k)==100&&(5*i+3*j+k/3)==100&&k%3==0)
printf("公雞%d,母雞%d,小雞%d ",i,j,k);
}
}
D. c語言程序與設計第四版143頁123題
一、
int f(int x){return 3*x*x*x+2*x*x+5*x+1;}
main()
{
int a[]={1,2,12,15,25},i;
for(i=0;i<5;i++)printf("f(%d)=%d\n",i,f(i));
}
二
int min(int x,int y){return x<y?x:y;}
main()
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
printf("三個數是:%d,%d,%d\n",a,b,c);
printf("最小數是:%d\n",min(min(a,b),c));
}
三
int fun(int n,int k)
{
while((k--)>1)
{
n/=10;
if(!n)return -1;
}
return n%10;
}
main()
{
int n,k;
scanf("%d%d",&n,&k);
if(fun(n,k)==-1)printf("k值大於專位數!屬");
else printf("%d\n",fun( n,k));
}