你好,代碼已為你改正,請采納
成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比太和網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式太和網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋太和地區(qū)。費用合理售后完善,10多年實體公司更值得信賴。
#include"stdio.h"
#include"stdlib.h"
int zhanzhuan(int a,int b)
{
int c,d;
if(ab)
{
d=a;a=b;b=d;
}
do
{
c=a%b;
a=b;
b=c;
}while(c!=0);
return a;
}
void main()
{
int a,b,c;
printf("請輸入兩個數(shù):\n");
scanf("%d%d",a,b);
c=zhanzhuan(a,b);
printf("%d\n",c);
system("pause");
}
#includestdio.h
{void?average(int?arr[],?int?count)
int?i,?sum=0;
for(i=0;icount;i++)
scanf("%d",a[i]);
{?for(i=0;?icount;?i++)
sum+=arr[i];
printf("Average:%d\n",?sum/count);
}
void?main()
{
// int?a[];??//定義的數(shù)組a沒有指定內存空間的大小
int?a[30];
Average(a,30);
}
第一個錯誤:#include"stdio.h"稱作 標準輸入輸出頭文件包含 必須出現(xiàn)在 文件開始
第二個錯誤:scanf("A",B) 格式 A稱作格式控制,用引號引起來 B稱作輸入項,他與格式控制之間用 逗號 隔開,故應該為 scanf("%d",score);
第三個錯誤:p函數(shù) 有 int型返回值 而 主函數(shù) 為無返回值型 所以類型不匹配
故應改為 p(int score)
修改后 答案
#include"stdio.h"
p(int score)
{
if (score100 || score0)
printf("error");
else if (score=90 score=100)
printf("youxiu\n");
else if (score=70)
printf("lianhao\n");
else if (score=60)
printf("jige\n");
else printf("bujige\n");
}
main()
{
int score;
printf("shu chenji:");
scanf("%d",score);
p(score);
}
以下為你收集的c語言輸入數(shù)據(jù)要點及注意事項
說明: (1)數(shù)據(jù)輸入是相對計算機內存
(2) 數(shù)據(jù)輸入使用標準庫函數(shù)完成
(3) 數(shù)據(jù)輸入標準庫函數(shù)的原型聲明在stdio.h頭文件中
1、函數(shù)getchar函數(shù)的功能是從鍵盤上輸入一個字符。
其一般形式為:字符變量=getchar();
getchar函數(shù)只能接受單個字符,輸入數(shù)字也按字符處理。
輸入多余的字符存入到鍵盤的緩沖區(qū),若有下一個getchar函數(shù)語句,直接從鍵盤的緩沖區(qū)讀取。
2、字符串輸入函數(shù)gets 格式:
gets (st)
功能:從鍵盤上輸入一個字符串,本函數(shù)得到一個函數(shù)值,即為該字符數(shù)組的首地址。
注意:gets函數(shù)并不以空格作為字符串輸入結束的標志,而只以回車作為輸入結束。這是與scanf(“%s”,…)函數(shù)不同的。
3、scanf()函數(shù)的一般形式
scanf(“格式控制字符串”,地址列表);
地址列表,用來接受數(shù)據(jù)各變量的地址。
變量的地址表示如下: 變量名 ,別忘了取地址運算
其格式字符串的一般形式為:
%[*][輸入數(shù)據(jù)寬度][長度]類型字符
其中有方括號[]的項為任選項。各項的意義如下:
1) 類型字符
表示輸入數(shù)據(jù)的類型,其格式符和意義如下所示:
d 輸入十進制整數(shù)
o 輸入八進制整數(shù)
x 輸入十六進制整數(shù)
u 輸入無符號十進制整數(shù)
f或e 輸入實型數(shù)(用小數(shù)形式或指數(shù)形式)
c 輸入單個字符
s 輸入字符串
2) “*”符
用以表示該輸入項讀入后不賦予相應的變量,跳過該輸入值。
如 scanf("%d %*d %d",a,b);
輸入為:1 2 3 把1賦予a,2被跳過,3賦予b。
3)寬度
用十進制整數(shù)指定輸入的寬度(即字符數(shù))。
例如: scanf("%5d",a);
輸入: 12345678
只把12345賦予變量a,其余部分被截去。
又如: scanf("%4d%4d",a,b);
輸入:12345678將把1234賦予a,而把5678賦予b。
4)長度 長度格式符為l和h,l表示輸入長整型數(shù)據(jù)(如%ld)和雙精度浮點數(shù)(如%lf)。h表示輸入短整型數(shù)據(jù)。
例如:
main()
{ inta;
long b;
double x;
scanf(“%d%ld%lf”,a,b,x);
printf(“a=%d, b= %ld,x=%lf”,a,b,x);
}
使用scanf函數(shù)還必須注意以下幾點:
(1)scanf函數(shù)中沒有精度控制。
如:scanf(“%5.2f”,a); 是非法的。
(2)scanf中要求給出變量地址,
如: scanf(“%d”,a);是非法的。
(3)在輸入多個數(shù)值數(shù)據(jù)時,若格式控制串中沒有非格式字符作輸入數(shù)據(jù)之間的間隔則可用空格,TAB或回車作間隔。
例如:scanf(“%d%d”,a,b);
輸入: 12 10 回車
或 12 回車 10 回車
(4)在輸入字符數(shù)據(jù)時,若格式控制串中無非格式字符,則認為所有輸入的字符均為有效字符。
例如:
scanf("%c%c%c",a,b,c);
輸入為:d e f 則把'd'賦予a, ‘’'賦予b,'e'賦予c。
只有當輸入為: def時,把'd'賦于a,'e'賦予b,'f'賦予c。
如果在格式控制中加入空格作為間隔,
如 scanf ("%c %c %c",a,b,c);
輸入時各數(shù)據(jù)之間可加空格。
(5)如果格式控制串中有非格式字符則輸入時也要輸入該非格式字符。
例如:
scanf("%d,%d,%d",a,b,c);
其中用非格式符“,”作間隔符,故輸入時應為: 5,6,7
又如:
scanf("a=%d,b=%d,c=%d",a,b,c);
則輸入應為: a=5,b=6,c=7
(6)如輸入的數(shù)據(jù)與輸出的類型不一致時,雖然編譯能夠通過,但結果可能不正確。
void main()
{ inta;
printf("inputa number\n");
scanf("%d",a);
printf("%ld",a);
}
以上總結比較全面,希望能幫到你。