当前位置:首页 » 编程语言 » 李明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 18:39:46 浏览:950
san存储柜 发布:2025-01-19 18:39:35 浏览:63
伏魔记安卓版怎么什么键都没有 发布:2025-01-19 18:38:54 浏览:901
lol声音文件夹 发布:2025-01-19 18:38:54 浏览:317
锐程cc尊贵版都有哪些配置 发布:2025-01-19 18:27:08 浏览:977
php手机网站 发布:2025-01-19 18:26:34 浏览:456
一加存储路径 发布:2025-01-19 18:21:01 浏览:446
sqlserver误删 发布:2025-01-19 18:21:00 浏览:649
球球安全中心动态密码在哪里 发布:2025-01-19 18:20:23 浏览:790
python读取config文件 发布:2025-01-19 18:15:10 浏览:458