怎么编写以下几个程序?(C语言)

wjhaxlb 2008-06-25 12:00:46
注意,用#include<stdio.h>
void main()
---------------------
1.文件程序设计题:
请调用fputs函数,把10个字符串输出到文件中;再从此文件中读入这10个字符串放在一个字符串数组中;最后把字符串数组中的字符串输出到终端屏幕,以检验所有操作是否正确。

2.函数程序设计:
编写程序outch,程序读入一行字符,根据命令行中的参数进行不同的输出。若有以下命令行:out -2
程序对所读入的一行字符输出最后两个字符。若有以下命令行:
Out +6
程序对所读入的一行字符输出开头6个字符。若命令行中没有参数,则隐含规定输出最后10个字符。为简单起见,命令行的参数中只包含一位数字。

3.结构程序设计题:
设有以下结构类型说明:
Struct student
{ char no[5],name[10];
Int score[4];
double average;
};
请编写:
(1)函数readrec把5名学生的学号、姓名、四项成绩以及平均分放在一个结构体数组中,学生的学号、姓名和四项成绩由键盘输入,然后计算出平均分放在结构体对应的域中。
(2)函数writerec输出5名学生的记录。
(3)main函数调用readrec函数和writerec函数,实现全部程序功能(注:不允许使用全局变量,函数之间的数据全部使用参数传递)。


...全文
236 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
qianfengHY 2008-06-26
  • 打赏
  • 举报
回复
强啊!
lijiawlm 2008-06-25
  • 打赏
  • 举报
回复
好多作业哦!!!!!!
daiguoliangfirst 2008-06-25
  • 打赏
  • 举报
回复
谢绝帮学生做作业
太乙 2008-06-25
  • 打赏
  • 举报
回复
急么?不急的话,等我有时间 给你写!
guzhilei1986 2008-06-25
  • 打赏
  • 举报
回复
精神上支持楼主自己做。
长安宁 2008-06-25
  • 打赏
  • 举报
回复
文件程序设计题: 
请调用fputs函数,把10个字符串输出到文件中;再从此文件中读入这10个字符串放在一个字符串数组中;最后把字符串数组中的字符串输出到终端屏幕,以检验所有操作是否正确。
int main()
{
char arr[10][30]={"aaaaaaaaaaa",\
"bbbbbbbbbb",\
"cccccccccc",\
"dddddddddd",\
"eeeeeeeeee",\
"ffffffffff",\
"gggggggggg",\
"hhhhhhhhhh",\
"iiiiiiiiii",\
"jjjjjjjjjj"
};

FILE *fp;
int i;
if((fp=fopen("stu_list","wb"))==NULL)
{
printf("cant open the file");
exit(0);
}
for(i=0;i<10;i++)
{
fputs(arr[i],fp);
fputs("\n",fp);
}
fclose(fp);


if((fp=fopen("stu_list","r"))==NULL)
{
printf("cant open the file");
exit(0);
}
for(i=0;i<10;i++)
{
fgets(arr[i],sizeof(arr[i]),fp);
}
fclose(fp);


for(i=0;i<10;i++)
{
cout << arr[i] << endl;
}
return 0;
}

函数程序设计:
编写程序outch,程序读入一行字符,根据命令行中的参数进行不同的输出。若有以下命令行:out -2
程序对所读入的一行字符输出最后两个字符。若有以下命令行:
Out +6
程序对所读入的一行字符输出开头6个字符。若命令行中没有参数,则隐含规定输出最后10个字符。为简单起见,命令行的参数中只包含一位数字。
void outch(char *p,char *argv,int n)
{
int len = strlen(p);
if(n>0)
{
p=p+n;
}
else
{
char *pt = p+len-1;
p = pt+n;
}
cout << p << endl;
}

int main(int argc,char *argv[])
{
if(strcmp(argv[1],"out"))
{
return 1;
}
char p[100];
scanf("%s",p);
outch(p,argv[1],atoi(argv[2]));
return 0;
}

3.结构程序设计题:
设有以下结构类型说明:
Struct student
{ char no[5],name[10];
Int score[4];
double average;
};
请编写:
(1)函数readrec把5名学生的学号、姓名、四项成绩以及平均分放在一个结构体数组中,学生的学号、姓名和四项成绩由键盘输入,然后计算出平均分放在结构体对应的域中。
(2)函数writerec输出5名学生的记录。
(3)main函数调用readrec函数和writerec函数,实现全部程序功能(注:不允许使用全局变量,函数之间的数据全部使用参数传递)。
struct student
{
char no[5],name[10];
int score[4];
double average;
};

void readrec(struct student (*stu)[2])
{
int i;
for(i=0;i<5;i++)
{
scanf("%s %s %d %d %d %d",\
stu[0][i].no,\
stu[0][i].name,\
&stu[0][i].score[0],\
&stu[0][i].score[1],\
&stu[0][i].score[2],\
&stu[0][i].score[3]\
);
stu[0][i].average = (float)((stu[0][i].score[0] + stu[0][i].score[1] + stu[0][i].score[2] + stu[0][i].score[3])/4);
}
}

void writerec(struct student *stu)
{
int i;
for(i=1;i<5;i++)
{
cout << "no=" << stu[i].no << ",name=" << stu[i].name << endl;
cout << "score[0]=" << stu[i].score[0];
cout << ",score[1]=" << stu[i].score[1];
cout << ",score[2]=" << stu[i].score[2];
cout << ",score[3]=" << stu[i].score[3];
cout << ",average=" << stu[i].average;
cout << "=============================" << endl;
}
}
int main()
{
struct student stu[5];
readrec(&stu);
writerec(stu);
return 0;
}
wwg19848 2008-06-25
  • 打赏
  • 举报
回复
这种题楼主应该自己试着写写,写不对再拿出来讨论一下
9527他大爷 2008-06-25
  • 打赏
  • 举报
回复
5,6楼的不厚道,在间接害楼主
明湖居士2018 2008-06-25
  • 打赏
  • 举报
回复
真的很会偷懒……
Conry 2008-06-25
  • 打赏
  • 举报
回复
现在的学生阿
K行天下 2008-06-25
  • 打赏
  • 举报
回复
第二题:


//outch.c
#include <stdio.h>
#include <conio.h>
#include <string.h>
int main(int argc,char *argv[])
{
char s[100];
int i,len, rlen = 10;
if ( argc > 2 )
{
printf("输入的参数只能小于等于1个!\n");
return -1;
}
else if ( argc == 2 )
{
if ( (argv[1][0] != '+') && (argv[1][0] != '-') )
{
printf("请输入正确的参数!\n例如:outch.exe +6, outch.exe -6\n");
getch();
return -2;
}
}

printf("请输入一行数据:\n");
gets(s);
len = strlen (s);
if ( argc == 1 )
{
if( len <= rlen )
puts(s);
else
for(i=len-rlen; i<len; i++)
putchar(s[i]);
}
else if ( argc == 2 )
{
rlen = argv[1][1] - 48;
if( len <= rlen )
puts(s);
else
{
if(argv[1][0] == '-')
for(i=len-rlen; i<len; i++)
putchar(s[i]);
if(argv[1][0] == '+')
for(i=0; i<rlen; i++)
putchar(s[i]);
}
}
getch();
return 0;
}


xhd3767 2008-06-25
  • 打赏
  • 举报
回复


#include <stdio.h>
void main()
{
FILE *fout,*fin;
char str1[] ="zuoye";
char getfromfile[10];
fout = fopen("out.txt","w");
if(fout==NULL){
printf("打不开文件");
}
fputs(str1,fout);

if( (fin = fopen("out.txt","r")) ==NULL)
printf("error");
fgets(getfromfile,10,fin);
puts(getfromfile);


}

一个字符串的...给多少分呀..

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧