大一c語言答案
『壹』 c語言問題,大一新生,問題:圖片中第一個答案i為什麼不等於1而等於0
就我的理解而言,i是0還是1對程序的結果沒有太大的影響,反而是1使得列印出的結果格式更好。但是一般來講,我們寫代碼數數都是從0開始的。所以你不必糾結這個問題了,就當做是代碼風格就好。
『貳』 大一C語言oj題,答案錯誤百分之五十,看了好久沒看出錯誤,求大佬幫幫忙,萬分感謝
#include <stdio.h>
int judgebaozi(int a,int b,int c){
if(a==b&&b==c)
return a;
else return 0;
}
int judgeizi(int a,int b,int c){
if(a==b||a==c)
return a;
else if(a!=b&&a!=c&&b!=c)
return 0;
else return b;
}
int judgedianzi(int a,int b,int c){
return a+b+c;
}
int judge1(int a,int b,int c){
if(a==b)
return c;
else if(a==c)
return b;
else if(b==c)
return a;
}
int main()
{
int a1,a2,a3,a4,a5,a6,k,m,o,p,q,r,s,t,j;
int data[9000][6];
scanf("%d",&k);
for(m=0;m<k;m++)
for(j=0;j<6;j++)
scanf("%d",data[m]+j);
for(m=0;m<k;m++){
a1=data[m][0];
a2=data[m][1];
a3=data[m][2];a4=data[m][3];a5=data[m][4];a6=data[m][5];
o=judgebaozi(a1,a2,a3);
p=judgebaozi(a4,a5,a6);
q=judgeizi(a1,a2,a3);
r=judgeizi(a4,a5,a6);
s=judge1(a1,a2,a3);
t=judge1(a4,a5,a6);
if(o!=0&&p!=0){
if(a1==a4)
printf("Draw\n");
else if(a1==1)
printf("lcy\n");
else if(a4==1)
printf("Ypop\n");
else if(a1>a4)
printf("lcy\n");
else
printf("Ypop\n");
}
else if(o!=0)
printf("lcy\n");
else if(p!=0)
printf("Ypop\n");
else if(q!=0&&r!=0){
if(q==r){
if(s==t)
printf("Draw\n");
else if(s==1)
printf("lcy\n");
else if(t==1)
printf("Ypop\n");
else if(s>t)
printf("lcy\n");
else
printf("Ypop\n");
}
else if(q==1)
printf("lcy\n");
else if(r==1)
printf("Ypop\n");
else if(q>r)
printf("lcy\n");
else printf("Ypop\n");
}
else if(q!=0)
printf("lcy\n");
else if(r!=0)
printf("Ypop\n");
else if(judgedianzi(a1,a2,a3)==judgedianzi(a4,a5,a6))
printf("Draw\n");
else if(judgedianzi(a1,a2,a3)>judgedianzi(a4,a5,a6))
printf("lcy\n");
else printf("Ypop\n");
}
return 0;
}
你的程序寫得好,邏輯有一點問題!
『叄』 大一c語言考試題(急)
1、C源程序文件的擴展名是(.C);編譯後生成的文件名後綴是(.OBJ);經過連接後生成文件
名後綴是(.exe);在VC++6.0中用Run命令運行當前程序時,運行的程序擴展名是(.exe)。
2、結構化程序的三種基本結構是(順序、選擇、循環)。
3、整型常量有三種表示方法,它們是(十進制整數)、(八制整數)、(十六整數)。
4、表達式3.5+1/2+56%10的值是(9.5);10/10和10%10的值各是(1和0)。
5、表達式3%3*3的值是(0);5/3*3的值是(3);3*6%4的值是(2)。
6、設intx=12;執行x+=x-=x*x後,x的值是(-264)。
7、表達式k=7,k+=k-=k+1的值是(-2)。
8、語句"printf("%x,%o",16,12);"的輸出結果是(10,14)。
9、設shortx,y;y=(x=3,x+2,++x,x++*2);則x,y的值各是(5,8)。
10、設intx,y,z,t;x=y=z=1;t=++x||++y&&++z;則y的值是(1)。
11、條件10<=x<20或x<=0的C語言表達式是(x>=10&&x<20||x<=0)
12、設a=1,b=2,c=3,d=4;表達式a>b?a:c<d?a:d的值是(1)。
13、在C程序中,用(1)表示邏輯值「真」。
14、表示「x≥y≥z」的C表達式是(x>=y&&y>=z)。
15、設x為int型變數,請寫出一個關系表達式((x%21==0)),用以判斷x同時為3和7的倍數時
,關系表達式的值為真。
16、設ch是字元型變數,判斷ch為英文字母的表達式是:(
ch<='z'&&ch>='a'||ch>='A'&&ch<='Z')。
17、在C語言中參數的傳遞總是採用(單向)傳遞。
18、如果return表達式;中」表達式」的類型與函數類型不一致,則以(函數類型)的類型為准
自動轉換;如果實際參數的類型與形式參數的類型不一致,則以(形式參數)的類型為准自動轉
換。
19、函數形式參數在(調用)時分配內存,(調用結束)時釋放內存。
20、系統總是為數組分配(連續)的一塊內存。
21、字元串的結束標志是(ASCII碼的0)。
22、TC系統為任何指針變數分配的內存是(4)位元組。
23、若有定義:doublex[3][5];則x數組中行下標的下限為(2),列下標的上限為(4)。
24、若有定義intx=3,*p;則使p指向變數x的賦值語句為(p=&x)。
25、在C語言程序中,在函數內部定義的變數稱為(局部變數)。
26、chara[2][10]={「123」,」123456789」},*p[2]={「123」,」123456789」};則(前者)
佔用內存多。
27、structst{charnum[5];inta[4];floatave;}a,*p;則變數a和p在內存各
占(25和4)位元組。
28、unionun{inti;charc;};
structst{intv[4];doublet;unionunk;}w,*pw;pw=&w;
變數w佔用(28)位元組;通過w訪問v[0]的形式是(w.v[0]);通過w訪問成員c的形式是(w.k.c
);通過pw訪問v[0]的全部形式有(pw->v[0],*(pw->v));通過pw訪問成員c的全部形式有(
(pw->k.c))。(實驗驗證,pw->k->c這種書寫有錯誤直接用.也是錯誤)
29、設fp是文件指針,要把字元變數ch的內容寫入文件,可用的語句有(
fputc(ch,fp);fwrite(&ch,1,1,fp);)。
30、fputs(str,fp)函數的功能是(將數據str寫入fp文件流中)。
{29題不能用fputs(&ch,fp);由於ch只有一個字元,如果用這句的話,會因為沒有字元串結束標
志而寫入很長的數據。從實驗中得出。}
涉及到窮舉的題目,像28、29可能沒有列舉完全其他題目都是經過vc++6.0驗證過的。
『肆』 大一C語言題:從鍵盤上輸入整數n,編程統計1~n之間的能被2或3整除的數的個數。
標準的做法是循環遍歷
#include<stdio.h>
intmain()
{
intn;
inti,c=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
if(i%2==0||i%3==0)c++;
printf("%d ",c);
return0;
}
取巧的做法是
#include<stdio.h>
intmain()
{
intn;
scanf("%d",&n);
printf("%d ",n/2+n/3-n/6);
return0;
}
『伍』 大一C語言題目求解
c=n[0][j]+n[1][j]-2*』0』;——把對應字元相加變成了數字相加,如第一次是'0'+'8'-2*'0'結果就是數字0+8==8。第二次得到'8'+'9'-2*'0'==17,相應地第三次是10,最後一次是17。後面n[0][j]=c%10+』0』;又相應地把第一次的得數8+了'0'變成了字元'8'並存儲到n[0]的最後一位,並且如果結果大於等於10時只取個位(由c%10實現);所以第二次得到的是'7',第三次得到的是'0',最後得到的是'7'。所以最後輸出是7078和9198。
『陸』 大一期末考C語言試題求解答
第一題:#include<stdio.h>
voidmain()
{
inta[10],b[9],i=0;
for(;i<10;i++)
{
printf("請輸入第%d個數",i+1);
scanf("%d",&a[i]);
}
for(i=1;i<10;i++)
b[i-1]=a[i]-a[i-1];
for(i=0;i<9;i++)
{
if(i%3==0)printf(" ");
printf("%d ",b[i]);
}
}運行結果:
學習是要用心的,多動腦,多思考學到的東西才是自己的。喔,對了給分喲!!!!!
『柒』 大一C語言題目 24、若有定義語句:int a[2][3],*p[3]; ,則以下
核心在於p的類型。
定義等效於
int *p[3];
這里p是一個數組,包含三個元素,每個元素類型為int *
所以
A p為數組名, 不可以賦值。
B p[0]為int*, 而a為二維數組名,等效於int **, 類型不匹配。
C a[1][2]為a的一個元素,類型是int,所以&a[1][2]是int*, 和p[0]類型相同, 所以這個賦值是合法的。
D 這個沒什麼說的了,錯的比B還離譜, int ***, 賦值給int*, 類型不匹配。