當前位置:首頁 » 編程語言 » 李明c語言

李明c語言

發布時間: 2022-08-18 16:13:09

1. 用c語言編寫一個隨機點名程序

例:

#include<stdio.h>/*standardinput&output*/

#include<stdlib.h>/*standardlibary*/

#include<string.h>/*string*/

#include<conio.h>/*ConsoleInput/Output*/

#include<time.h>

structstudentinfo/*學生信息的結構體*/

charsNo[5];/*學生編號*/

charsxueNo[14];/*學號*/

charsname[20];/*學生的姓名*/

}st[100];

charhash[100]={0};/*鏈表的數組*/

intmain()

inti=0,j=0,flag=0,RN,*a;

FILE*fp;

charch,filename[20]={0},line[100]={0};

printf("Pleaseinputfilename:");

//fflush(stdin);/*用來清空輸入緩存,以便不影響後面輸入的東西*/

gets(filename);/*鍵盤輸入文件名*/

fp=fopen(filename,"r");/*openreadonly*/

printf("名單如下:\n");/*顯示所有的學生信息*/

while(fgets(line,sizeof(line)-1,fp))

if(line[0]!='\n'&&line[0]!='')

sscanf(line,"%s%s%s\n",st[i].sNo,st[i].sxueNo,st[i].sname);/*文件輸入*/

printf("%s\n%s\n%s\n",st[i].sNo,st[i].sxueNo,st[i].sname);/*列印出來*/

i++;/*統計人數*/

/*設置隨機數種子*/

srand((unsigned)time(NULL));

/*sizeof(類型符)是計算類型所佔位元組數,sizeof(int)是int所佔位元組數,再乘以i,得到i個int型數據的總位元組數。malloc函數用於動態開辟一塊內存空間,參數為開辟的內存空間位元組數,返回開辟的內存空間的首地址指針。*/

a=(int*)malloc(sizeof(int)*i);

memset(a,-1,sizeof(a));/*將已開辟內存空間a的第4個位元組設置為-1*/

printf("按空格鍵點名,其他鍵退出:");

fflush(stdin);

while((ch=getch())=='')

/*while(!(ch=getch())==NULL)*/

if(flag==i)/*如果flag等於總人數*/

printf("%s\n","點名結束");

break;

RN=rand()%i;/*產生一個隨機數*/

while(hash[RN]==1)/*判斷有沒有完成某個一個學生點名*/

RN=rand()%i;/*產生隨機數*/

flag++;/*計數*/

printf("\n~~~~~\n%s\n%s\n%s\n------------\n",st[RN].sNo,st[RN].sxueNo,st[RN].sname);/*輸出學生的信息*/

hash[RN]=1;

(1)李明c語言擴展閱讀:

printf函數使用注意事項

1、域寬

%d:按整型數據的實際長度輸出。

如果想輸出指定寬度可以指定域寬,%md-->m域寬,列印出來以後,在控制台上,顯示m位;

如果我們要列印的數的位數如果超過我們設定m則原樣輸出;

如果我們要列印的數的位數如果小於我們設定的位數,則補空白,具體如下:

如果m為正數,則左對齊(左側補空白);

如果m為負數,則右對齊(右側補空白)。

2、轉義字元

如果想輸出字元"%",則應該在「格式控制」字元串中用連續兩個%表示。

如:printf("%f%%",1.0/3);輸出結果:0.333333%。

2. c語言如何用getchar分別輸入兩個字元

在a=getchar();後面加一個getchar();吸收多餘的回車
#include<stdio.h>
void main()
{
char a,b;
printf("大家好,我叫李明!\n");
printf("我姓名的第一個字元是:");
a=getchar();getchar();
printf("");
printf("我姓名的第二個字元是:");
b=getchar();getchar();
printf("\n你輸入的兩個字元分別是:");
putchar(a);
printf("、");
putchar(b);
}
這樣就好了
望採納,謝謝

3. 為什麼C語言中把一個數組傳入函數中,在函數調用的時候只寫數組名

例子int
num[3]
=
{10,
20,
30}
在內存是這樣存儲
num
0000000a,00000014,0000001e
//16進制形式
你給起始地址函數,那函數就指向了num的地址,int規定了他是16位的,所以引用的時候,就可以按順序引用了。
傳入函數大多都有一個范圍值,以確定作用數組多少元素,以上例子數3。

4. 急!解答幾個c語言作業,務必按題目要求。在線等。

#include<stdio.h>

voidmain()

{

structstudent

{

intnum;

charname[20];

charsex[4];

intage;

intgaoshu;

intjisuanji;

intwuli;

intyingyu;

intzongfen;

intpingjunfen;

};

structstudentstu={203212022,"李明","f",21,87,96,92,85,stu.gaoshu+stu.jisuanji+stu.wuli+stu.yingyu,stu.zongfen/4};

printf("學號:%d 姓名:%s 性別:%s 年齡:%d 高數成績:%d 計算機成績:%d 物理成績:%d %英語成績:%d 總分:%d 平均分:%d ",stu.num,stu.name,stu.sex,stu.age,stu.gaoshu,stu.jisuanji,stu.wuli,stu.yingyu,stu.zongfen,stu.pingjunfen);

}

5. c語言輸出%02和%2.0f都是什麼意思啊,還有100310121,李明,M,1991/05/19,72,83,90,82~為了得到這些內容

%10ld指的是以雙精度輸出數據其佔十個單位,%8s指的是以字元串型輸出數據且佔8個單位,%3c指的是以字元型輸出數據且前兩位是空格,%6d指的是以整形數輸出數據且佔6個單位,%02d指的是以整形數輸出數據湛亮個單位但是多餘的空格補在數據後。
說實話你這問題我沒太看懂

6. 求c語言編程:結構體

struct stu{
int num;
char name[10];
char sex;
int age;
int score[3];
int sum;
double ave;
}STU[10]={{203212022,'李明','f',21,87,96,92,85}};

7. C++初學者關於的語法細節疑問:拷貝構造函數與C#的clone對比,按引用調用與C的引用對比。


第一條已經有網友答了

關於引用這個

引用的符號是&,但是&在一些場合表示的是引用,一些場合表示的是取地址的意思,
在C/C++都是這樣的。

那麼什麼時候表示引用呢,引用就是對一個對象的引用,說白一點就是給一個已存在的
對象起了個別名,比如

int a = 3;

int& b = a;

這個時候b和a是等價的,完全一模一樣的,只是叫了個不同的名字,就想有個人
叫李明,他小名叫小明,小明和李明都是同一個人。

表示取地址的意思就是字面上的意思,取一個對象的地址了

比如
int a = 3;
&a就是取a這個變數的地址,
int* b;
b = &a;
這里就定義了一個int指針,然後讓它指向a的地址。

兩個場景的用法差別是很大的。
引用必須在聲明時就指定引用的對象,比如 這樣的聲明就是錯誤的 int& b;
取地址就是得到指定對象的地址,一般就是把它賦值給一個指針對象,讓指針和對象關聯。

朋友,請【採納答案】,您的採納是我答題的動力,如果沒有明白,請追問。謝謝。

8. 用c語言建立txt文件並寫入和讀出三個學生的姓名性別年齡家庭住址🙏🙏

#include<stdio.h>

#include<string.h>

#define N 3

struct MSTU { char name[20],addr[80]; int age,sex; };

void main()

{ MSTU mstudent[N];

int i,n;

FILE *fp;

char buffer[256],s[2][3]={ "女","男" },sex[20];

strcpy(mstudent[0].name,"李明"); mstudent[0].age=14; mstudent[0].sex=1;

strcpy(mstudent[0].addr,"北京xx區xx路xx號01");

strcpy(mstudent[1].name,"趙飛翔"); mstudent[1].age=13; mstudent[1].sex=1;

strcpy(mstudent[1].addr,"北京xx區xx路xx號02");

strcpy(mstudent[2].name,"王曉紅"); mstudent[2].age=14; mstudent[2].sex=0;

strcpy(mstudent[2].addr,"北京xx區xx路xx號03");

if ( fp=fopen("student.txt","w+") )

{ for ( i=0;i<N;i++ )

{ sprintf(buffer,"%s %s %d %s ",mstudent[i].name,s[mstudent[i].sex],

mstudent[i].age,mstudent[i].addr);

fputs(buffer,fp);

}

fclose(fp);

} else printf("無法建立輸出文件。 ");

if ( fp=fopen("student.txt","r") )

{ i=0;

while ( !feof(fp) && i<N && fgets(buffer,255,fp) )

{ sscanf(buffer,"%s %s %d %s",mstudent[i].name,sex,&mstudent[i].age,

mstudent[i].addr);

mstudent[i].sex=( strcmp(sex,"女")==0 )?(0):(1);

printf("%s %s %d %s ",mstudent[i].name,s[mstudent[i].sex],

mstudent[i].age,mstudent[i].addr);

i++;

}

fclose(fp);

} else printf("無法打開文件讀入數據。 ");

}

9. 新概念c語言 李明 用的是什麼軟體編程的

使用Microsoft visual C++就可以

熱點內容
路由器管理密碼是什麼忘了怎麼辦 發布:2025-01-19 20:34:35 瀏覽:427
java方法定義 發布:2025-01-19 20:20:50 瀏覽:404
kr腳本 發布:2025-01-19 20:17:41 瀏覽:518
幫我開啟存儲 發布:2025-01-19 20:17:39 瀏覽:813
s9存儲縮水 發布:2025-01-19 20:08:06 瀏覽:335
2b2t的伺服器編號是什麼 發布:2025-01-19 19:58:55 瀏覽:874
androidstudio下載與安裝 發布:2025-01-19 19:58:14 瀏覽:560
拉鉤演算法 發布:2025-01-19 19:58:14 瀏覽:866
python中讀取文件 發布:2025-01-19 19:37:26 瀏覽:369
網吧電腦連接到steam伺服器錯誤 發布:2025-01-19 19:37:17 瀏覽:602