定義的input(int
宜城網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、成都響應式網(wǎng)站建設公司等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)公司于2013年開始到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選創(chuàng)新互聯(lián)公司。
m)
m作用的作用從代碼
printf("%s輸入一個二進制數(shù):\n",m?"請":"輸入有誤,請重新");
中的
m?"請":"輸入有誤,請重新"
這個三目運算符可以看出:
當m=1時
輸出:請輸入一個二進制數(shù):
m
!=1時
輸出:
輸入有誤,請重新輸入一個二進制數(shù):
也就是為了提示用戶用的!
所以
這里的
n=input(1)
的
1就是說明要求系統(tǒng)提示:輸入有誤,請重新輸入一個二進制數(shù):
問題中的代碼有這么兩個需要改進的地方:
1. main函數(shù)中score的定義,不能寫成float score[][5]={0};,因為這樣的寫法二維數(shù)組score將只有1行5列,所以沒法存儲多個學生的4門課成績信息,而且還需要寫成 float score[A+1][N+1]; ,因為問題中的代碼里面下標沒有從0開始,這樣就行列都需要多留一個空間了。
2. Readscore函數(shù)中,scanf里面應該使用%f,而不是%d,因為成績數(shù)據(jù)是浮點數(shù)。這樣就可以正確的讀入成績數(shù)據(jù)了
#?include?stdio.h
#?include?stdlib.h
int?main()
{
void?input(int?*t);
int?ave(int?*t);
void?list?(int?*t,int?aver);
int?a[80],average,*p;
p=a;
input(p);
average=ave(p);
list(p,average);
system?("PAUSE");
return?0;
}
void?input(int?*t)
{
int?i;
printf("依次輸入成績,當輸入值為0時結束:\n");
for(i=0;i80;i++)
{
scanf("%d",t+i);
if(*(t+i)==0)?break;
}
}
int?ave(int?*t)
{
int?i,aver,sum=0;
for(i=0;*(t+i)!=0;i++)
sum=sum+*(t+i);
aver=sum/i;
return?aver;
}
void?list?(int?*t,int?aver)
{
int?i;
for(i=0;*(t+i)!=0;i++)
{
printf("%6d",*(t+i));
if((i+1)%5==0)?printf("\n");
}
printf("\n平均成績?yōu)椋?d\n",aver);
}
#include stdio.h
#define N 1000
void get_score(int a[]);
void put_score(int a[]);
float average(int a[]);
void bubble_sort(int a[]);
int max_score(int a[]);
int min_score(int a[]);
int main()
{
int a[N];
get_score(a);
put_score(a);
printf("average score: %.4f\n",average(a));
bubble_sort(a);
put_score(a);
printf("max score: %d\n",max_score(a));
printf("min score: %d\n",min_score(a));
return 0;
}
void get_score(int a[])
{
int i = 0;
int x;
while (1)
{
scanf("%d",x);
a[i] = x;
if (x == -1) //輸入為-1時標志輸入結束
break;
i++;
}
}
void put_score(int a[])
{
int i = 0;
while (a[i] != -1)
{
printf("%3d",a[i]);
i++;
}
printf("\n");
}
float average(int a[])
{
int i = 0;
int sum = 0;
float aver;
while (a[i] != -1)
{
sum += a[i];
i++;
}
aver = (float)sum/(float)i;
return aver;
}
void bubble_sort(int a[])
{
int i, j, n, flag;
int temp;
i = 0;
while (a[i] != -1)
i++;
n = i;
flag = 1;
for (i = 0; i n-1flag == 1; i++)
{
flag = 0;
for (j = 0; j n-i; j++)
{
if (a[j] a[j+1])
{
flag = 1;
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
if (flag == 0)
return;
}
}
int max_score(int a[])
{
int max = a[0];
int i = 1;
for (; a[i] != -1; i++)
{
if (a[i] max)
max = a[i];
}
return max;
}
int min_score(int a[])
{
int min = a[0];
int i = 1;
for (; a[i] != -1; i++)
{
if (a[i] min)
min = a[i];
}
return min;
}
#include stdio.h
void fun(int n)
{
switch(n/10)
{
case 1:
case 2:
case 3:
case 4:
case 5:printf("成績不及格\n");break;
case 6:printf("成績?yōu)镈等\n");break;
case 7:printf("成績?yōu)镃等\n");break;
case 8:printf("成績?yōu)锽等\n");break;
case 9:
case 10:printf("成績?yōu)锳等\n");break;
}
}
void main()
{
int n;
scanf("%d",n);
fun(n);
}