A. c語言如何一次聲明a1 到 a10
在計算機或者現實中,我們每做一件事情都有做這件事情的目的,不是盲目的去干。
這里一次聲明a1到a10的目的何在,在什麼地方使用,還是就是簡單的看語法,如果簡單的看語法就完全沒有必要了,如果有作用最好定義一個結構體,這樣這些變數的地址空間在一起便於程序運行。或者定義一個數組存儲這些變數的值。
B. c語言基礎的一道題
int i,a[i],b[i];
其中沒有對數組a和b的大小定義。肯定編譯不了
要a[10],b[10];
#include<stdio.h>
void main()
{
int i,a[10],b[10];
printf("請分別輸入a1,a2,...a10的值\n");
for (i=0;i<=9;i++)//從零開始而不是從1a[0]才是第一個
scanf("%d",&a[i]);
for(i=0;i<=9;i++)
printf("%d\n",a[i]);//要用循環來打
for (i=0;i<=9;i++){
b[i]=a[(2*i-1)]/2+a[(2*i)]/2;//這個肯定有問題了2*超過數組的界限了,而且意思也不對,不知道你要求什麼。樓主把功能告訴我再幫你寫
for(i=0;i<=9;i++)
printf("%d",b[i]);}
}
C. C語言編程聲音的問題
在TC2.0或者VC++6.0下運行下面程序,就是一個MP3歌,但我忘記了這首歌的名字,你先聽聽吧!
做個mp3播放器
#include<time.h>
#include<dos.h>
#define N1 64
#define N2 32
#define N4 16
#define N8 8
#define N16 4
#define END 0
enum NOTES
{
C10=131,D10=147,E10=165,F10=175,G10=196,A10=220,B10=247,
C0=262,D0=296,E0=330,F0=349,G0=392,A0=440,B0=494,
C1=525,D1=587,E1=659,F1=698,G1=784,A1=880,B1=988,
C2=1047,D2=1175,E2=1319,F2=1397,G2=1568,A2=1760,B2=1796
}
song[]={
D0,N4,E0,N8,C0,N4,A10,N4,G10,N8,E10,N8,G10,N8,A10,
N8,C0,N2,A10,N4,A10,N8,C0,N8,G10,N8,A0,N8,E0,N8,G0,N8,
D0,N2,E0,N4,D0,N8,E0,N8,G0,N4,E0,N4,G10,N8,E10,N8,G10,
N8,A10,N8,C0,N2,A10,N4,A10,N8,C0,N8,A10,N8,A10,N8,D10,
N8,E10,N8,G10,N2,D0,N4,D0,N4,G0,N4,A0,N8,G0,N8,F0,N2,G0,
N2,A0,N4,G0,N8,E0,N8,D0,N8,E0,N8,C0,N8,A10,N8,D0,N2,E0,
N4,G0,N8,E0,N8,G0,N4,E0,N4,G10,N8,E10,N8,A10,N8,
C0,N4,A10,N4,A10,N8,C0,N8,D0,N8,A10,N8,C0,N8,E0,N8,D0,
N1,END,END};
main()
{
int note=0;
int fre,r,control;
clock_t goal;
printf("please leason song of kewang:\n");
while (song[note]!=0)
{
fre=song[note];
r=song[note+1];
if (kbhit())
break;
if (fre)
{
outportb(0x43,0xb6);
fre=(unsigned)(1193180L/fre);
outportb(0x42,(char) fre);
outportb(0x42,(char) (fre>>8));
control=inportb(0x61);
outportb(0x61,(control)|0x3);
}
goal=(clock_t)r+clock();
while(goal>clock());
if (fre)
outportb(0x61,control);
goal=(clock_t)0;
note=note+2;
}
}
看看滿不滿意!
D. 在學C語言我這段c語言怎麼錯了
/**這段,數組下標從0開始,應為x[0]=a1,...x[9]=a10;
x[1]=a1;
x[2]=a2;
x[3]=a3;
x[4]=a4;
x[5]=a5;
x[6]=a6;
x[7]=a7;
x[8]=a8;
x[9]=a9;
x[10]=a10;
*/
x[0]=a1;
x[1]=a2;
x[2]=a3;
x[3]=a4;
x[4]=a5;
x[5]=a6;
x[6]=a7;
x[7]=a8;
x[8]=a9;
x[9]=a10;
/**這段錯誤
if(n=0;n++;n<10;);//不應該用if,這里應該是循環
printf("%c" ,x[10]);// 應該寫在引號裡面
*/
for(n=0;n<10;n++)
printf("%c ",x[n]);
E. 幾道C語言問題!!!
1.A
if (a=0)-->不成立. 因為a=0是賦值,相當於if(0)
if(a>0)-->不成立;所以執行y+=y
-->結果:y=20
***********************************************
2.有兩個選擇
D:有語法錯誤,因為while(!x)後缺分號.
若不是上面情況則選B.原因是:
x=-1*x--->x=-1
!x-->!(-1)-->!(true)-->false
結果:退出循環.僅循環一次.
***********************************************
3.A
該題關鍵是判斷語句"i=10&&x>0".
i=10&&x>0-->i=(10&&x>0)-->i=(true && ture)-->i=true-->true
因此永遠循環.
***********************************************
4.C
第1次:i=0-->判斷成立(0<3)-->i=1(i++<3,指先比較i<3,再i加1)
第2次:判斷成立(1<3)-->i=2
第3次:判斷成立(2<3)-->i=3
第4次:判斷不成立(3<3)-->i=4
退出
結果:i=4
***********************************************
5.沒有合適答案.
執行後,y=1.原因如下:
第1次:y=1-->判斷成立(1<=50)
-->if(x>=0)-->條件成立-->break-->退出循環(並不進行y++操作)
結果:y=1
***********************************************
6.C
a(a(i))-->a(a(10))-->a(9)-->6
數組第1個元素為a(0)=1,a(1)=4,...
***********************************************
7.D
i-->1位元組
c-->2位元組
a-->4位元組
1+2+4=7
結果:位元組總數為7位元組.
***********************************************
8.B
應該:stu是用戶定義的結構類型,而不是struc stu.
***********************************************
9.C
C語言中規定不能進行指針"加"操作.
***********************************************
10.D
第1次循環:
s指向"ABCD"中"A"位置,p指向"ABCD"中"B"位置.
printf輸出"B"開始的字元串.
第2次循環:
p加1-->指向"ABCD"中"C"位置,判斷成立(s指向"A"位置).
printf輸出"C"開始的字元串.
第3次循環:
p加1-->指向"ABCD"中"D"位置,判斷成立.
printf輸出"D"開始的字元串.
第4次循環:
p加1-->指向"ABCD"中"D"後面,與s相關4個地址位,條件不成立.
退出.
輸出結果:
BCD
CD
D
F. c語言語法問題
#include<stdio.h>
#include<stdlib.h>
intmain()
{
inta<:2:>;
a<:1:>=55555;
printf("%d",a<:1:>);
}
a<:0:>實際上就是a[0]
同理
a<:1:> 實際上就是a[1]
你可以參考c語言的制定,比如c99標准指定。
實際上<:和:>是在替換某些鍵盤上沒有[和]。。。
如果鍵盤有[和]的話,實際上<:這些東西就是搞怪了。。故作玄虛讓人看不懂。
G. C語言中 enmu枚舉時 可否分成多段表示 比如 0-5,8-12 ,22-25
枚舉類型 可以設置其中的變數值 然後之後的依次遞增 所以比如 a0....a5 ,a6....a10 a0=0 ,a6=8
H. c語言請教,謝謝!
a【0】【4】是成立的 因為下標是沖0開始的 5個人 就是0 1 2 3 4
正確理解 a00 a01 a02 a03 a04
a10 a11 a12 a13 a14
a20 a21 a22 a23 a24
因為 他是求的那一顆的平均分 你得先求總分 a0表示的那一顆 後面的0 1 2 3 4 表示5個人
執行過程是 a00 a01 a02 a03 a04
分數輸入順序是正確的
可以在vc上運行的 要加 #include<stdio.h>
的確要第一個for弄完才運行第二個for 如果 你的第一個for後面加一個大括弧
for(i=0;i<=9;i++)
{
a[i]=i; for(i=9;i>=0;i--) printf("%d ",a[i]);
}
這樣的話 就是要第二個for 不成立後 跳出循環 在判斷第一個for是否成立 如果成立 繼續第二個循環 如此 知道第一個for循環不成立為止
不懂在追問吧
I. c語言中s=average( a10)為什麼是 s
s只是變數名,自定義變數的時候起的名字,只要符合命名規則,起什麼名字都行。
average這是一個函數名,從代碼看s是用來接收函數average返回值的。
J. C語言編程
不用鏈表也行
好久不用c編程了,接受鍵盤輸入數字的函數、標準的c程序格式什麼的都忘了,自己去翻翻書吧。
這個還是比較簡單的,說個思路吧
includ ....
main
{
建立一個十一個數的數組從a0到a10
兩個變數b,n
從鍵盤接受輸入10個數字,並分別存入a0到a9(這個書上有範本)
將a0到a9排序
再從鍵盤接受一個數字,存入a10
for(i=1,i=i+1,i<10)
{
用a10依次與a[i]做比較
如果a10>=a[i]
則 goto move(如果不想用goto的話,循環用while)
}
move for(j=n,j++,j<=10)
{
b=a[j]
a[j]=a10
a[j+1]=a[j]
}
}
基本ok吧,對不起了,只是大體思路
工作幾年了,標準的c語言實在想不起來了
當然如果能用鏈表,那就更好了,其實作用是一樣的,鏈表更鍛煉編程能力罷了。