C语言,会的帮个忙。全部做出来的话我把我分全加给他

本人初学c语言,请大家帮个忙做下这几个踢,谢谢了如果答案是对的我把我全部分都给他不过速度要快,谢谢了1。输入3个学生,输入学号,数学其末成绩,期末成绩算出平均分2。编一个... 本人初学c语言,请大家帮个忙做下这几个踢,谢谢了
如果答案是对的我把我全部分都给他
不过速度要快,谢谢了
1。输入3个学生,输入学号,数学其末成绩,期末成绩算出平均分
2。编一个程序,把2个字符串连起来,不要用strcat函数。
3。有15个数按由大到小顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素值。如果该数不在数组中,则打印出“无此数”。
4。写一个函数,将两个字符串连起来。
5。输入一个字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
展开
 我来答
百度网友6ba8b63cb
2006-07-03 · TA获得超过232个赞
知道小有建树答主
回答量:98
采纳率:0%
帮助的人:119万
展开全部
/*输入3个学生,输入学号,数学其末成绩,期末成绩算出平均分
*/
#include<stdio.h>
struct student{
char name[20];
char xuehao[3];
float suxue;
}st[3];
void main(){
int i;
float sum=0;
printf("请输入学生的姓名,学号以及数学成绩:\n");
for(i=0;i<3;i++){
scanf("%s%s%f",st[i].name,st[i].xuehao,&st[i].suxue);
sum=sum+st[i].suxue;
}
printf("姓名 学号 数学成绩\n");
for(i=0;i<3;i++)
printf("%-20s%-6s%8.1f\n",st[i].name,st[i].xuehao,st[i].suxue);
printf("\n学生的平均数学成绩为:%8.1f",sum/3);
}

/*需要说明一点的就是使用scanf在对字符串的输入,因为scanf以空格作为一个变量的结束
标志,所以在输入姓名中不要出现空格,学号由于也使用的是字符型变量,所以同样需要注意
不然程序会出现问题,如果想不出现此种问题,最好使用gets()来对字符串的输入操作。
*/

/*编一个程序,把2个字符串连起来,不要用strcat函数。
*/
#include<stdio.h>
void main(){
char s[100],t[100];
int i,j;
printf("请输入第一个字符串,个数小于100:");
gets(s);
printf("请输入第二个字符串,个数小于100:");
gets(t);
for(i=0;s[i]!='\0';i++);
for(j=0;t[j]!='\0';j++);
if ((i+j)>=100)
printf("两字符串里总共字符个数过大,合并不法成功\n");
else{
for(j=0;t[j]!='\0';j++)
s[i+j]=t[j];
s[i+j]='\0';
printf("两串合并合为:%s",s);

}

}

/*
有15个数按由大到小顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是
数组中第几个元素值。如果该数不在数组中,则打印出“无此数”。
*/
#include<stdio.h>

void binsrch( int m[],int k){
int low,high,mid;
low=0;high=14;
while (low<=high){
mid=(low+high)/2;
if (k>m[mid])
high=mid-1;
if (k<m[mid])
low=mid+1;
if (k==m[mid]){
printf("找到此数在数组的%d位,值为%d",mid+1,k);
return;
}

}
printf("没有找到此数,非常报歉");
return;

}

void main(){
int s[15]={100,95,90,85,80,75,70,65,60,55,50,45,40,35,30};
int k;
printf("请输入要查找的整数:");
scanf("%d",&k);
binsrch(s,k);
}

/*写一个函数,将两个字符串连起来。
*/
#include<stdio.h>
char *strcatfun(char s[],char t[]){
int i,j;
for(i=0;s[i]!='\0';i++);
for(j=0;t[j]!='\0';j++);
if ((i+j)>=100)
printf("两字符串里总共字符个数溢出,新串只是第一个串\n");
else{
for(j=0;t[j]!='\0';j++)
s[i+j]=t[j];
s[i+j]='\0';
return s;
}
}

void main(){
char s[100],t[100];

printf("请输入第一个字符串,个数小于100:");
gets(s);
printf("请输入第二个字符串,个数小于100:");
gets(t);
strcatfun(s,t);
printf("两串合并后新串为:%s\n",s);

}

5题的题目应该是输入一个字符串吧

/*
输入一个字符串,分别统计出其中英文字母、空格、数字和其他字符的个数。
*/
#include<stdio.h>
void main(){
char s[100];
int x,y,z,sp,i;
x=y=z=sp=0;
printf("请输入一个字符串:");
fflush(stdin);
gets(s);
for(i=0;s[i]!='\0';i++){
if (s[i]>='A'&&s[i]<='Z'||s[i]>='a'&&s[i]<='z')
x++;
else if (s[i]>='0'&&s[i]<='9')
y++;
else if (s[i]==' ')
sp++;
else
z++;
}

printf("英文字母的个数为%d,空格个数为%d,数字个数%d个,其他字符%d个\n",x,sp,y,z);
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式