for(i=0;i<10;i++)
printf("%4d",a[i]);
printf("\n");
return 0;
}*/
/*编写函反向 。
要求主函数输入字符串, 通过调用函数fun实数fun, 通过指针实现将一个字符串现输入字符串反向 。 (20分)
# include<stdio.h>
# include<stdlib.h>
# include<string.h>
char *fun(char *q)
{
char temp;
int len=strlen(q);
int i;
for(i=0;len-i-1>i;i++)
{
temp = *(q+i);
*(q+i) = *(q+len-i-1);
*(q+len-i-1) = temp;
}
return q;
}
main()
{
char *q;
q=(char *)malloc(200*sizeof(char));
printf("please input the string:\n");
scanf("%s",q);
fun(q);
printf("after reverse the string is:\n");
printf("%s\n",q);
return 0;
}*/
/*5、已知学生三门课程基本信息如下 。 请使用结构体编程, 计算学生三门课程平均成绩后,
列表输出学生的姓名、数学、英语、计算机、平均分信息, 并按平均分排序 。 (20分)
姓名 数学 英语 计算机
Mary 93 100 88
Jone 82 90 90
Peter 91 76 71
Rose 100 80 92
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct student{
char name[20];
int math;
int english;
int computer;
double average;
};
main()
{
int i,j,index;
struct student a[4];
struct student temp;
strcpy(a[0].name,"mary"),a[0].math=93,a[0].english=100,a[0].computer = 88;
strcpy(a[1].name,"jone"),a[1].math=82,a[1].english=90,a[1].computer = 90;
strcpy(a[2].name,"peter"),a[2].math=91,a[2].english=76,a[2].computer = 71;
strcpy(a[3].name,"rose"),a[3].math=100,a[3].english=80,a[3].computer = 92;
for(i=0;i<4;i++)
a[i].average =(a[i].computer +a[i].english +a[i].math)/3 ;
for(i=0;i<3;i++)
{
index = i;
for(j=i;j<4;j++)
if(a[j].average <a[index].average )
index = j;
temp = a[i];
a[i] = a[index];
a[index] = temp;
}
printf("姓名 数学 英语 计算机 平均分\n");
for(i=0;i<4;i++)
{
printf("%6s%6d%6d%9d%9.1f",a[i].name ,a[i].math ,a[i].english ,a[i].computer ,a[i].average );
printf("\n");
}
}*/
/*6、附加题:编程实现输入一串英文, 统计其中各单词出现的个数(不区分大小写字母),
以"000"作为字符串输入结束标志, 例如:
Twinkle twinkle little star 000(回车)
twinkle little star
2 1 1 (50分)
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>
void main()
{
char string[400]; //装载输入的原始字符串
char temp[20][20]; //装载string中的各个子字符串
char str[20][20]; //装在string中的各个子字符串, 不过不包括重复的字符串, 只是把不同的字符串收录在str中
int num=0; //记录空格的个数
int order[20]; //记录各个空格的位置
int i,j,k;
int sum[20]; //记录子字符串出现的个数
int flag=0; //判断是否把子字符串输入到str中
for(i=0;i<20;i++)
memset(temp[i],'\0',20); //把那里面的元素清零, 如果不清零会产生乱码
for(i=0;i<20;i++)
memset(str[i],'\0',20); //把那里面的元素清零, 如果不清零会产生乱码
printf("please input the string:\n");
gets(string); //把字符串输入到字符数组string[400]中
for(i=0;string[i]!='0';i++)
string[i]=tolower(string[i]); //将字符串中的大写字母转化成小写字母
for(i=0;string[i]!='0';i++)
if(string[i]==' ')
{
order[num]=i; //记录空格的位置
num++; //空格的数目加1
}
for(i=0;i<order[0];i++)
temp[0][i]=string[i];//记录了第一个空格前的字符串, 把它输入到temp[0][]中.
for(j=0;j<num;j++)
for(k=0,i=order[j]+1;i<order[j+1];i++)
temp[j+1][k++] = string[i]; //将string字符串分开后存在temp中,也就是把第一个空格之后的字符串分别存放在temp中 。
推荐阅读
- 生活知识|水泥怎么去除,大块水泥怎么去除
- 生活知识|爱剪辑怎么用,爱剪辑离线使用
- 母婴知识|孩子多大可以送托儿所,宝宝几岁能送到托儿所
- 母婴知识|手足口传染多大的孩子,手足口会传染大龄儿童吗
- 母婴知识|蒋雯丽孩子多大,蒋文里有孩子吗
- 母婴知识|高圆圆孩子今年多大了
- 母婴知识|星露谷物语孩子能长多大,星露谷物语各男主出轨
- 母婴知识|小伙子是指多大的人,喜欢的女孩子叫我小伙子
- 母婴知识|盖优乐适合多大孩子吃
- 母婴知识|何炅有孩子吗 多大