程序高手帮个忙,新手实在是做不来了。C语言程序设计,做任意一个就行了。谢谢了!!!各位大神!
具体要求,要一些什么内容?提出你的需求
#include#includeint main(){ int i=1,j=0; int a[10]={1,2,3,4,5,6,7,8,9,10}; srand(time(NULL)); while(i<=10) { j=rand()%10; if(a[j]!=0) { printf("第%d个数为:%d
",i,a[j]); a[j]=0; i++; } } return 0;}
我回答第三题
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>//如果用链表的话申请空间要用这个头文件,本方法可以不用
#include <string.h>
#pragma warning(disable:4996)//该语句是屏蔽第4996号警告,可不要,
typedef struct Node
{
long num;
char name[10];
float math;
float chinese;
float english;
int flag;//判定是否及格,最好用bool型
}SCORE,*PSCORE;//对于本题可以不用定义结构体的
void main()
{
FILE* fp;
FILE* fp_write_jg;
FILE* fp_write_bjg;
char buf[1000];
int i=0;
int j=0;
int k=0;
SCORE score[10];//因为只有十个学生的成绩所以就直接定义了一个数组,否则的话可以定义链表
memset(buf,0x00,sizeof(buf));//buf初始化
for (;i<10;i++)//name初始化
{
memset(score[i].name,0x00,sizeof(score[i].name));
}
if ((fp=fopen("e:\\score.txt","r"))==NULL)//打开文件score.txt
{
printf("不能找到score.txt
");
return;
}
if ((fp_write_jg=fopen("e:\\jg.txt","w+"))==NULL)
{
printf("不能打开jg.txt");
return;
}
if ((fp_write_bjg=fopen("e:\\bjg.txt","w+"))==NULL)
{
printf("不能打开bjg.txt");
return;
}
if (fgets(buf,1000,fp)==NULL)//读取文件score.txt中的内容
{
printf("打开文件score.txt出错
");
return;
}
do //前几个while循环为读取文件中的数据,然后将它存储在结构体中
{
i=0;
while (buf[i]!=' ')
{
i++;
}
score[j].num=atol(buf);
while (buf[++i]!=' ')
{
score[j].name[k++]=buf[i];
}
score[j].math=(float)atof(&(buf[i]));
while (buf[++i]!=' ')
{
;
}
score[j].chinese=(float)atof(&(buf[i]));
while (buf[++i]!=' ')
{
;
}
score[j].english=(float)atof(&(buf[i]));
if (score[j].math<60||score[j].chinese<60||score[j].english<60)
{
score[j].flag=-1;//不及格
fputs(buf,fp_write_bjg);//将不及格的信息存储起来
}
else
{
score[j].flag=1;//及格
fputs(buf,fp_write_jg);//将及格的信息存储起来
}
k=0;
j++;
} while (fgets(buf,1000,fp));
//将信息输出
printf("成绩都合格的学生的信息:
");
printf("学号姓名数学语文英语
");
for (i=0;i<10;i++)
{
if (score[i].flag==1)
{
printf("%ld%s%f%f%f
",score[i].num,score[i].name,
score[i].math,score[i].chinese,score[i].english);
}
}
printf("成绩都不合格的学生的信息:
");
printf("学号姓名数学语文英语
");
for (i=0;i<10;i++)
{
if (score[i].flag==-1)
{
printf("%ld%s%f%f%f
",score[i].num,score[i].name,
score[i].math,score[i].chinese,score[i].english);
}
}
}
又是抄作业的垃圾
相关视频
C语言高手来帮个忙!
不知道是不是带字节对齐的没有用过16位的机器不知道如果是32位机的话这个结构应该是16个字节int 4 char 1 double 8 再根据最大字节数变量对齐 = 16这些东西有点忘记了,如果有不对的请指正16位机上int二个字节(32位机int 4字节)char一个字节(32位机char也是1字节)double八个字节加起来11补充
电脑高手来帮个忙啊,谢谢了!
开始-设置-控制面板-用户帐户,在这里启用来宾用户,并设置一个密码,等他用你电脑的时候用来宾用户就行了。桌面上新建一个文本文档,然后输入:shutdown -s -t 8 然后保存为后缀是.bat的文件,然后开始-程序-启动,右击启动-打开,把刚才那个文件拖进去。这样开机的时候这个文件就会提示关机了,哈,...
关于Java的一个小程序,懂得来帮个忙
我是刚学JAVA的新手,老师给留了一个作业,我怎么想也想不出来,希望在这里能有高手朋友给解答一下,谢谢了 内容是: 用JAVA作一个图形界面,其功能是输入年份...有懂的帮个忙啊,要源代码啊,谢谢了 dakiler 这是我编过的程序 它用来计算两个日期之间间隔 某日期向前\/后几天是什么日期(考虑闰年) ...
操作系统练习,高手帮个忙,先谢了!
寻到)+(60\/7200)*0.2(寻扇)+60\/7200\/200(读扇区)= 0->100 100*1ms(寻到)+(60\/7200)*0.2(寻扇)+60\/7200\/200(读扇区)= 100->180 80*1ms(寻到)+(60\/7200)*0.2(寻扇)+60\/7200\/200(读扇区)= 全部相加 这种应该是FIFO 我忘记有没有两种方法对调,希望帮到你 ...