姓氏学编程
① 随机输入一个姓名,然后分别输出姓和名,怎么写代码谢谢!
具体的写法如下:
do case
case len(alltrim(姓名))=4
?left(allltrim(姓名),2),right(alltrim(姓名),2)
case len(姓名)=6
?left(allltrim(姓名),2),right(alltrim(姓名),4)
case len(姓名)=8
?left(allltrim(姓名),4),right(alltrim(姓名),4)
endcase
源代码主要功用有如下2种作用:
生成目标代码,即计算机可以识别的代码。
对软件进行说明,即对软件的编写进行说明。为数不少的初学者,甚至少数有经验的程序员都忽视软件说明的编写,因为这部分虽然不会在生成的程序中直接显示,也不参与编译。
但是说明对软件的学习、分享、维护和软件复用都有巨大的好处。因此,书写软件说明在业界被认为是能创造优秀程序的良好习惯,一些公司也硬性规定必须书写。
需要指出的是,源代码的修改不能改变已经生成的目标代码。如果需要目标代码做出相应的修改,必须重新编译。
② 用C++编程,按学生姓名排序问题
#include<iostream>
#include<cstdlib>
#include<string>
const int MAX_SIZE=50;
using namespace std;
int compare(const void*a,const void*b)
{
char*a1=(char*)a;
char*b1=(char*)b;
return strcmp(a,b);
}
void sort(char**s,int n)
{
qsort(s,n,sizeof(char*)*MAX_SIZE,compare);
}
int main()
{
int n,i;
cin>>n;
char**s=new char*[n];
for(i=0;i<n;i++)
{
s[i]=new char[MAX_SIZE];
cin>>s[i];
}
sort(s,n);
for(i=0;i<n;i++)
cin<<s[i]<<endl;
.return 0;
}
③ c++编程 用类编一个程序实现输入姓名、学号、四科分数,输出姓名、学号、平均分
//满意请采纳
#include<iostream>
usingnamespacestd;
classstu{
private:
intage,y1,y2,y3,y4;
charname[20];
charnum[20];
chark;
public:
voidinit();
voidprint();
voidaverage_y();
};
voidstu::init(){
cin.get(name,20,',');
cin>>k>>age>>k;
cin.get(num,20,',');
cin>>k>>y1>>k>>y2>>k>>y3>>k>>y4;
}
voidstu::print(){
cout<<name<<","<<age<<","<<num<<",";
}
voidstu::average_y(){
cout<<(y1+y2+y3+y4)/4<<endl;
}
intmain(){
stuc;
c.init();
c.print();
c.average_y();
return0;
}
④ 用c语言从键盘任意输入5个学生的姓名,编程找出并输出按字典顺序排在最前面的学生姓名
#include<stdio.h>
#include<string.h>
intmain(){
chara[5][1000],tem[1000];
inti,k;
for(i=0;i<5;i++){
scanf("%s",a[i]);
}
for(i=1;i<5;i++){
if(strcmp(a[0],a[i])==1){
strcpy(a[0],a[i]);
}
}
printf("%s ",a[0]);
return0;
}
⑤ 从键盘任意输入5个学生姓名,编程找出按字典顺序排在最前面的学生姓名用c语言
//VC++ 6.0下调试通过
#include <iostream>
using namespace std;
static char names[5][20];
void main()
{
cout<<"请输入西文姓名!"<<endl;
for (int i=0; i<5; i++)
{
cout<<"第"<<i+1<<"位同学姓名:"<<endl;
cin>>names[i];
}
char* p=NULL;
p= names[0];
for (i=0; i<5; i++)
{
if (strcmp(p, names[i])>0)
p=names[i];
}
cout<<"字典序最前的同学是:"<<p<<endl;
}
⑥ C++高手,按百家姓将姓名排序(解决加满分)
我直接按创新的要求提供思路:
准备工作:
将百家姓按顺序存放在一个文本文件a.txt中,姓与姓之间有一个相同的符号间隔,方便文件指针查找,如赵,钱,孙,李,周……
程序思路:(部分数据定义省略)
采用文件的方式打开百家姓,并建立字符串数组s[100]来存储这100个姓,
for(i=99;i>=0;i--)
{
s[i]=t;(t是用文件指针获取各个姓的字符串数组,获取方法按找到分隔符号为结束来将数据相加,此处省略)
}
这样就将100个姓的顺序和对应的数字排出来了,并且s[i],中的i值代表姓的整数,方便按大小排序。
输入模块,用一个字符串数组存储输入的各个姓名,此处省略。
输出模块,用输出函数输出输入时的各个姓名,并输出排序后的字符串数组姓名,此处省略。
关键是排序模块。
这里只需要用到字符串比对就可以了,假设输入姓名字符串数组为j[i],先取其第一个字与s[i]比较,如果相等记录i值,并将其存放在另一个字符串数组中同姓相互连接,加一个分隔符号存储。这样就把姓相同的人名放在了某一个字符串,通过比较i值就可以分出顺序,再把姓相同的人名进行比较排出同姓的顺序,这个只需要把s[i]中人名的字符串直接进行比较按字符串大小排列就可以了。
不知道你懂没有。!
⑦ C语言编程,输入一个学生的姓名、学号、英语、数学、计算机成绩,输出学生姓名、学号和平均成绩
#include<stdio.h>
#include<string.h>
voidmain()
{
charname[20],number[20];
floatmath,english,computer;
doubleaver;
printf("Pleaseinputstudent'sname:");
gets(name);;
printf("Pleaseinputstudent'snumber:");
gets(number);
printf("Pleaseinputstudent'sEnglishscore:");
scanf("%f",&english);
printf("Pleaseinputstudent'sMathscore:");
scanf("%f",&math);
printf("Pleaseinputstudent'sComputerscore:");
scanf("%f",&computer);
aver=(english+math+computer)/3;
printf("Name:%s ",name);
printf("Number:%s ",number);
printf("Score:%5.2f ",aver);
}
输入:
Pleaseinputstudent'sname:Lihua
Pleaseinputstudent'snumber:123456789
Pleaseinputstudent'sEnglishscore:80.5
Pleaseinputstudent'sMathscore:91
Pleaseinputstudent'sComputerscore:89.5
输出:
Name:Lihua
NUmber:123456789
Score:87.00
⑧ 求C++高手,按百家姓将姓名排序,不要求满足创新要求,不要百度出来的(满意又加赏)
afjjvckajdbhvja
⑨ scratch编程 输入学生姓名 出来班级 程序怎么编
创建一个列表,输入信息格式为:1,学生姓名 2,班级 3,学生姓名 4,班级......如此类推
学生的班级=列表的第[[列表中第一个【学生名字】的编号]+1]项
⑩ 第一题:从键盘任意输入5个学生的姓名,编程找出并输出按字典顺序排在最前面的学生
strcmp()这个函数你们学了吗?这个函数是专门比较两个字符串的。