c语言,输入五个国家的名字,按字母顺序(即按ASCII码从小到大的顺序)排列输出。

作者&投稿:竺莉 (若有异议请与网页底部的电邮联系)
C语言,输入五个国家的名字(英文),按字母顺序(即按ASCII码从小到大的顺序)排列输出~

#include
#include
#include
typedef struct
{
char cou[15];
}C;
C raw[5];
C *p[5];


int main()
{
/*定义结构数组*/
/*定义指针指向结构体变量*/
C* q;
int i,j;
printf("Input five countries name:
");
/*循环输入国家名并存储在结构数组中*/
for(i=0;i<5;i++)
{
scanf("%s",&raw[i].cou);
p[i]=&raw[i];
/* strupr(p[i].cou);*/
}
/*冒泡排序将国家名称排序*/
for(i=0;i<4;i++)
for(j=0;j<4-i;j++)
{
/*strcmp函数比较相邻两个国家名的Ascii码*/
if(strcmp(p[j]->cou,p[j+1]->cou)>0)
{
q=p[j];
p[j]=p[j+1];
p[j+1]=q;
}
}


printf("
The sort countries:
");
/*循环输出*/
for(i=0;i<5;i++)
printf("%s
",p[i]->cou);
system("PAUSE");
return 0;
}

#includevoid main(){int a,b,c,t;printf("请输入三个整数:a b c
");scanf("%d%d%d",&a,&b,&c);if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}printf("排序后的三个整数为:%d,%d,%d
",a,b,c);}
语言标准
起初,C语言没有官方标准。1978年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。布莱恩·柯林汉(Brian Kernighan) 和 丹尼斯·里奇(Dennis Ritchie) 出版了一本书,名叫《The C Programming Language》。这本书被 C语言开发者们称为K&R,很多年来被当作 C语言的非正式的标准说明。人们称这个版本的 C语言为K&R C。 [3]
K&R C主要介绍了以下特色:
结构体(struct)类型
长整数(long int)类型
无符号整数(unsigned int)类型
把运算符=+和=-改为+=和-=。因为=+和=-会使得编译器不知道使用者要处理i = -10还是i =- 10,使得处理上产生混淆。
即使在后来ANSI C标准被提出的许多年后,K&R C仍然是许多编译器的最 准要求,许多老旧的编译器仍然运行K&R C的标准。
1970到80年代,C语言被广泛应用,从大型主机到小型微机,也衍生了C语言的很多不同版本。
1983年,美国国家标准协会(ANSI)成立了一个委员会X3J11,来制定 C语言标准。 [4]
1989年,美国国家标准协会(ANSI)通过了C语言标准,被称为ANSI X3.159-1989 "Programming Language C"。因为这个标准是1989年通过的,所以一般简称C89标准。有些人也简称ANSI C,因为这个标准是美国国家标准协会(ANSI)发布的。
1990年,国际标准化组织(ISO)和国际电工委员会(IEC)把C89标准定为C语言的国际标准,命名为ISO/IEC 9899:1990 - Programming languages -- C [5] 。因为此标准是在1990年发布的,所以有些人把简称作C90标准。不过大多数人依然称之为C89标准,因为此标准与ANSI C89标准完全等同。
1994年,国际标准化组织(ISO)和国际电工委员会(IEC)发布了C89标准修订版,名叫ISO/IEC 9899:1990/Cor 1:1994[6] ,有些人简称为C94标准。
1995年,国际标准化组织(ISO)和国际电工委员会(IEC)再次发布了C89标准修订版,名叫ISO/IEC 9899:1990/Amd 1:1995 - C Integrity [7] ,有些人简称为C95标准。

C99标准
1999年1月,国际标准化组织(ISO)和国际电工委员会(IEC)发布了C语言的新标准,名叫ISO/IEC 9899:1999 - Programming languages -- C [8] ,简称C99标准。这是C语言的第二个官方标准。
在C99中包括的特性有:
增加了对编译器的限制,比如源程序每行要求至少支持到 4095 字节,变量名函数名的要求支持到 63 字节(extern 要求支持到 31)。
增强了预处理功能。例如:
宏支持取可变参数 #define Macro(...) __VA_ARGS__
使用宏的时候,允许省略参数,被省略的参数会被扩展成空串。
支持 // 开头的单行注释(这个特性实际上在C89的很多编译器上已经被支持了)
增加了新关键字 restrict, inline, _Complex, _Imaginary, _Bool
支持 long long, long double _Complex, float _Complex 等类型
支持不定长的数组,即数组长度可以在运行时决定,比如利用变量作为数组长度。声明时使用 int a[var] 的形式。不过考虑到效率和实现,不定长数组不能用在全局,或 struct 与 union 里。
变量声明不必放在语句块的开头,for 语句提倡写成 for(int i=0;i<100;++i) 的形式,即i 只在 for 语句块内部有效。
允许采用(type_name){xx,xx,xx} 类似于 C++ 的构造函数的形式构造匿名的结构体。
复合字面量:初始化结构的时候允许对特定的元素赋值,形式为:
struct test{int a[3],b;} foo[] = { [0].a = {1}, [1].a = 2 };
struct test{int a, b, c, d;} foo = { .a = 1, .c = 3, 4, .b = 5 }; // 3,4 是对 .c,.d 赋值的
格式化字符串中,利用 \u 支持 unicode 的字符。
支持 16 进制的浮点数的描述。
printf scanf 的格式化串增加了对 long long int 类型的支持。
浮点数的内部数据描述支持了新标准,可以使用 #pragma 编译器指令指定。
除了已有的 __line__ __file__ 以外,增加了 __func__ 得到当前的函数名。
允许编译器化简非常数的表达式。
修改了 /% 处理负数时的定义,这样可以给出明确的结果,例如在C89中-22 / 7 = -3, -22% 7 = -1,也可以-22 / 7= -4, -22% 7 = 6。 而C99中明确为 -22 / 7 = -3, -22% 7 = -1,只有一种结果。
取消了函数返回类型默认为 int 的规定。
允许 struct 定义的最后一个数组不指定其长度,写做 [](flexible array member)。
const const int i 将被当作 const int i 处理。
增加和修改了一些标准头文件,比如定义 bool 的 ,定义一些标准长度的 int 的 ,定义复数的 ,定义宽字符的 ,类似于泛型的数学函数 , 浮点数相关的 。 在 增加了 va_copy 用于复制 ... 的参数。里增加了 struct tmx ,对 struct tm 做了扩展。
输入输出对宽字符以及长整数等做了相应的支持。
GCC和其它一些商业编译器支持C99的大部分特性。

typedef struct
{
char cou[15];
}C;
C raw[5];
C *p[5];

void main()
{
/*定义结构数组*/
/*定义指针指向结构体变量*/
C* q;
int i,j;
printf("input countries:\n");
/*循环输入国家名并存储在结构数组中*/
for(i=0;i<5;i++)
{
scanf("%s",&raw[i].cou);
p[i]=&raw[i];
/* strupr(p[i].cou);*/
}
/*冒泡排序将国家名称排序*/
for(i=0;i<4;i++)
for(j=0;j<4-i;j++)
{
/*strcmp函数比较相邻两个国家名的Ascii码*/
if(strcmp(p[j]->cou,p[j+1]->cou)>0)
{
q=p[j];
p[j]=p[j+1];
p[j+1]=q;
}
}

printf("\n");
/*循环输出*/
for(i=0;i<5;i++)
printf("%s ",p[i].->cou);

getch();
}
想用指针的话利用指针数组排序就行了,
另外上面的比较的是p却对q进行了交换
字符串拷贝只能用strcpy了

#include<stdio.h>
#include<conio.h>
#include<string.h>

typedef struct
{
char cou[15];
}C;

void main()
{
/*定义结构数组*/
C p[5];
/*定义指针指向结构体变量*/
C* q=p;
int i,j,temp;
printf("input countries:\n");
/*循环输入国家名并存储在结构数组中*/
for(i=0;i<5;i++)
{
scanf("%s",p[i].cou);
/* strupr(p[i].cou);*/
}
/*冒泡排序将国家名称排序*/
for(i=0;i<5;i++)
for(j=0;j<4-i;j++)
{
/*strcmp函数比较相邻两个国家名的Ascii码*/
if(strcmp(p[j].cou,p[j+1].cou)>0)
{
strcpy(temp,p[j].cou);
strcpy(p[j].cou,p[j+1].cou);
strcpy(p[j+1].cou,temp);
}
}

printf("\n");
/*循环输出*/
for(i=0;i<5;i++)
printf("%s ",p[i].cou);

getch();
}


南美洲的十二个国家的官方语言有哪些?
荷兰语为官方语言,通用苏里南语。各民族均有自己的语言。苏里南视客家话为法定语言,是世界上少数几个把客家话当成法定语言的国家。2、圭亚那 圭亚那合作共和国(英语:Cooperative Republic of Guyana),简称圭亚那(Guyana,印第安语意为“多水之乡”),位于南美洲北部,国土总面积21.5万平方公里。国民...

举五个以上国家或民族的文化习俗『包括语言,文字,艺术,建筑,服饰,饮...
性格坦率,开诚布公。葡萄牙人很像希腊人,随和,喜欢社交。尽管天气热也穿着西装,和他们谈判时,应上衣整洁,并在工作和社交场合戴上领带。英国人凡事都循规蹈矩。他们的汽车行驶方向和欧洲其他国家正好相反。基于将英语作为母语的自负,除了英语外,英国人不会讲其他语言。

世界上用的最广泛5种的语言
3、法语——法国以及美国、加拿大部分地区的母语,非洲近半数国家的通用语言。4、西班牙语——西班牙及其原殖民地墨西哥、阿根廷、智利、秘鲁、哥伦比亚、委内瑞拉等绝大多数拉美国家的母语,美国的第一少数民族语言。5、俄语——俄罗斯、乌克兰、哈萨克斯坦、白俄罗斯等15个前苏联的加盟共和国约3亿人的通用语言...

世界五大语言是什么?
4、西班牙语 在近代史上,西班牙几乎创造了不逊色于英国的奇迹,至少将它们的语言传播到了全世界,目前在以拉丁美洲和非洲为主的地区有大约20个国家都使用西班牙语。5、俄语 虽然中文是世界上使用人数最多的语言,但是它的使用国家并没有进前5,排在第5的是俄语,想想前苏联,大家就应该知道这门语言的...

表示国家语言的单词,六个【英语】
美国 America 美国的 American 美国人American 英国 Britain 英国的 British 英国人 British 澳大利亚 Australia 澳大利亚的 Australian 澳大利亚人Australian 加拿大 Canada 加拿大的 Canadian 加拿大人的 Canadian 瑞士 Switzenland 瑞士的 Swiss 瑞士人的 Swiss 葡萄牙 Portugal 葡萄牙的 Portuguese 葡萄牙人的 ...

英语在45个国家是官方语言,具体是哪些?
马耳他官方语言:马耳他语、英语 英国官方语言:英语;威尔士北部:凯尔特语;苏格兰西北高地及北爱尔兰:盖尔语 爱尔兰官方语言:爱尔兰语(盖尔语)、英语 加拿大 官方语言:法语、英语 马绍尔群岛 英语 巴布亚新几内亚 官方语言:英语;巴布亚:莫土语;新几内亚:皮金语 瓦努阿图 官方语言:英语、法语和比斯...

世界上有哪几个英语为国家的国家?
以英语为母语的国家有12个国家,分别是:英国、美国、澳大利亚、巴哈马、爱尔兰、巴巴多斯、百慕大、圭亚那、牙买加、新西兰、圣基茨和尼维斯,特立尼达和多巴哥。1、英语是国际指定的官方语言(作为母语),也是世界上最广泛的第一语言,英语包含约49万词,外加技术名词约30万个,是词汇最多的语言,英语使用...

vivo手机如何在输入法中增加国家语言
4.打开时会需要先点选启用触宝输入法。5.点击启用后,将触宝输入法功能键打开。6.打开后,继续点击下面的激活触宝输入法。7.然后在弹出的页面里勾选触宝输入法。8.这时候就可以进入到触宝输入法首页,点击右上角三条横线的位置。9.在弹出的页面中输入语言。10.然后就可以看到多个国家的语言 ,勾选...

对输入的国家名字按字母顺序排序(C语言)
include <stdio.h> include <string.h> include <stdlib.h> int main(){ int n,i,j;char (*p)[10],a[10];printf("请输入你要输入的国家个数:");scanf("%d",&n);p=(char (*)[10])calloc(n,sizeof(char *[10]));printf("请输入国家的名字\\n");for (i=0;i<n;i++)scanf...

电脑中如何添加其他语言输入法|添加电脑自带的其他国家输入法的方法
比如图中选择的是法语输入法;4、选中之后点击确定;5、返回后,点击应用和确定即可成功添加;6、在任务栏中可以进行不同语言输入法的切换;7、如果想要删除该输入法,同样进入设置,选中之后再点击删除就可以了。如果我们需要在电脑中添加电脑自带的其他国家输入法,就可以参考以上提供的方法。

贺兰县19370875032: C语言,输入五个国家的名字(英文),按字母顺序(即按ASCII码从小到大的顺序)排列输出
逮邹舒美:#include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct { char cou[15]; }C; C raw[5]; C *p[5]; int main() { /*定义结构数组*/ /*定义指针指向结构体变量*/ C* q; int i,j; printf("Input five countries name:\n"); /*循环输入国家名并存储...

贺兰县19370875032: 用C语言 任意输入五个国家名字再以首字母为序输出?怎么写? -
逮邹舒美: 1 用二维字符数组存储每个名字,每行一个;2 输入五个字符串,即五个国家名字;3 排序,注意用strcmp比较,用strcpy赋值交换;4 输出结果.代码如下:int main() { char s[5][100],t[100]; int i,j; for(i = 0; i < 5; i ++) scanf("%s",s[i]); for(i = 0; i < ...

贺兰县19370875032: C语言编程:输入五个国家的名称,按字典方式分别输出 -
逮邹舒美: #include<stdio.h>#include <string> void main() { char guojia[6][10]; int i; for(i=0;i<5;i++) { printf("请输入第%d个国家名称:",i+1); gets(guojia[i]); } for(i=0;i<5-1;i++) { for(int j=i+1;j<5;j++) { //char *p=NULL; if(strcmp(guojia[i],guojia[j])>0) { strcpy(...

贺兰县19370875032: 用C语言编程序(输入五个国家的名字,比较,在按顺序输出)
逮邹舒美: #include "stdio.h" main() { char a[5][15]; char *b[5],*p; int i,j; printf("输入五个国家名字\n"); for(i=0;i<5;i++) { scanf("%s",&a[i][0]); b[i]=&a[i][0]; } for(i=0;i<5;i++) for(j=i+1;j<5;j++) { if(strcmp(b[i],b[j])>0) { p=b[i]; b[i]=b[j]; b[j]=p; } } printf("输出...

贺兰县19370875032: 输入若干个国家的英文名字,并将它们按字母顺序从大到小排列, -
逮邹舒美: #include#includeint main(){ char *country[5]; char s[10]; printf("请输入5个国家的名称:\n"); for(int i=0;i0) { char *t; t=country[i]; country[i]=country[j]; country[j]=t; } } for(int i=0;i

贺兰县19370875032: 请问这个C语言源程序(输入5个国家名,按字母顺序排序)哪里出错了呢?谢谢 -
逮邹舒美: if(strcmp(b[i],b[i+1])>0) { strcpy(a,b[i]); strcpy(b[i],b[i+1]); strcpy(b[i+1],a); }

贺兰县19370875032: 对输入的国家名字按字母顺序排序(C语言)
逮邹舒美: #include<stdio.h> main() { char ch,str[100]; int n,m,t,i=0;printf("Iuput the string.\n"); ch = getchar(); while(ch != '!') /*输入'!'并按回车循环结束*/ { str[i] = ch; ch = getchar(); i++; } str[i] = '\0'; printf("The string is %s\n",str);for(n=0;n<i;n++) ...

贺兰县19370875032: C语言实现对键盘输入的国家名称排序 -
逮邹舒美: 教材上的例子……自己去看看书吧 .哎,现在人越来越懒了 输入五个国家的名称按字母顺序排列输出. 本题编程思路如下:五个国家名应由一个二维字符数组来处理.然而C语言规定可以把一个二维数组当成多个一维数组处理. 因此本题又可...

贺兰县19370875032: 输入五个国家的名称,并将它们按字母顺序排列输出(使用二维字符数组)的算法 -
逮邹舒美: //没用2为字符串,麻烦死.用的结构体 #include #include #include typedef struct { char c[105]; }Line; Line a[10]; int cmp(const void *x,const void *y) { char *m = ((Line*)x)->c; char *n = ((Line*)y)->c; return strcmp(m,n); } int ...

贺兰县19370875032: 输入五个国家的名称按字母顺序排列输出,输入中日英发美为什么总是乱码或出错. -
逮邹舒美: #include#include int main() // void -> int {char a[20],b[5][20]; int i,j,k; printf("enter a country name:\n"); for(i=0;i gets(b[i]);printf("\n"); for(i=0;i {k=i;strcpy(a,b[i]); for(j=i+1;j if(strcmp(b[j],a) {k=j;strcpy(a,b[j]);} if(k!=i) {strcpy(a,b[i]),strcpy(b[i],b[k]),strcpy(...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网