C语言 编姓名

C语言 编姓名,第1张

#include <stdioh>

int main()

{

char name[15];

char number[20];

puts ("请输入姓名:");

gets ( name );

puts ("请输入学号:");

gets ( number );

printf ("您的姓名是:%s", name);

printf ("您的学号是:%s", number);

getchar();

getchar();

return 0;

}

试了试,可以排序啊。有几个简单的错误不知道是不是因为你提问时打错了。第一个,printf提示是不能直接用汉语的吧。还有就是if(strcmp(name[min],name[j]>0))括号加的不大对,if(strcmp(name[min],name[j])>0)然后,我输入就可以了。什么内存错误,没有发现。如果有问题,请及时补充。

#include <stdlibh>

struct data

{

char name[20];

char phone[20];

char address[20];

} people[5];

int main()

{

FILE p;

int i;

p=fopen("D:\\phonetxt","w");

if(p==NULL)

{

printf("打开文件失败\n");

exit(0);

}

for(i=1;i<=5;i++)

{

printf("输入第%d个人的信息,空格顿开,回车结束\n",i+1);

scanf("%s%s%s",people[i]name,people[i]phone,people[i]address);

fwrite(&people[i],sizeof(people[i]),1,p);

fprintf(p,"\n");

}

fclose(p);

return 0;

}

另外,团IDC网上有许多产品团购,便宜有口碑

#include<stdioh> #define NUM 5 void main() { struct xue { char name[20]; char nummber[20]; char chenji[10]; }; struct xue menber[NUM]; int i; for(i=0;i<NUM;i++) { printf("输入第%d个人的姓名,学号,成绩,\n",i+1); printf("姓名:"); gets(menber[i]name); printf("学号:"); gets(menber[i]nummber); printf("成绩:"); gets(menber[i]chenji); } printf("\n\n学号\t\t\t姓名\t\t\t成绩\n\n"); for(i=0;i<NUM;i++) { printf("%s\t\t\t%s\t\t\t%s",menber[i]nummber,menber[i]name,menber[i]chenji); printf("\n"); } }

#include <stdioh>

#define N 200

#define SCORES 5

#define NUMLEN 10

struct std_type{

char no[NUMLEN];/学号/

char name;/名字字符串指针/

int scores[SCORES];/五门功课的成绩/

};

struct std_type students[N];

int order[N];

int total[N];

/[函数]输入一个学生信息函数/

int readastu(struct std_type spt)

{

int len,j;

char buf[120];/输入学号/

printf("\nNumber : ");

if(scanf("%s",buf)==1)

strncpy(spt->no,buf,NUMLEN-1);

else

return 0;/CTRL+Z结束输入/

printf("Name : ");/输入姓名/

if(scanf("%s",buf)==1)

{

len=strlen(buf);

spt->name=(char)malloc(len+1);/申请储存姓名的空间/

strcpy(spt->name,buf);

}

else return 0;/CTRL+Z结束输入/

printf("Scores : ");/输入成绩/

for(j=0;j<SCORES;j++)

if(scanf("%d",spt->scores+j)!=1)

break;

if(j==0)/一个成绩也没有输入/

{

free(spt->name);/释放存储姓名的空间/

return 0;

}

for(;j<SCORES;j++)/少数未输入的成绩用0分代替/

spt->scores[j]=0;

return 1;

}

/[函数]输出一个学生信息的函数/

int writeastu(struct std_type spt)

{

int i;

printf("Number : %s\n",spt->no);/输出学号/

printf("Name : %s\n",spt->name);/输出姓名/

printf("Scores : ");/输出成绩/

for(i=0;i<SCORES;i++)

printf("%4d",spt->scores[i]);

printf("\n\n");

}

main()

{

int n,i,j,t;

clrscr();

for(n=0;readastu(students+n);n++);/用冒泡法对学生信息数组排序/

for(i=0;i<n;i++)

{

order[i]=i;/预置第i个输入的学生/

for(t=0,j=0;j<SCORES;j++)/求第i个学生的总分/

t+=students[i]scores[j];

total[i]=t;

}/冒泡排序/

for(i=0;i<n-1;i++)/共扫视n-1遍/

for(j=0;j<n-1-i;j++)

if(total[order[j]]<total[order[j+1]])

{/交换名次/

t=order[j];

order[j]=order[j+1];

order[j+1]=t;

}

for(j=0;j<n;j++)/输出/

writeastu(students+order[j]);

printf("\n Press any key to quit\n");

getch();

}

以上就是关于C语言 编姓名全部的内容,包括:C语言 编姓名、利用c语言编制输入姓名后按字母顺序排列、如何用C语言中的for语句编写程序:当输入正确的姓名时进入下一步,否则继续输入。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10209973.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存