
#include<stdioh>
#include<stringh>
int main()
{
char a[10][20],t[20];
int i,j;
printf("请输入10个国家的英文名字(每行一个):\n");
for(i=0;i<10;i++)
gets(a[i]);
for(i=0;i<9;i++)
for(j=0;j<9-i;j++)
{
if(1==strcmp(a[j],a[j+1]))
{
strcpy(t,a[j]);
strcpy(a[j],a[j+1]);
strcpy(a[j+1],t);
}
}
printf("按字母顺序排序后:\n");
for(i=0;i<10;i++)
puts(a[i]);
return 0;
}
这个程序不是你都写过了吗,只是有些错误
程序修改的地方:
1、添加命名空间
using namespace std; // 添加命名空间引用 int main() // 主函数和大括号的位置对调一下{
完整的修改后代码如下:
#include <iostream>#include <string>
using namespace std; // 添加命名空间引用
int main() // 主函数和大括号的位置对调一下
{
char str1[6], str2[6], str3[6], temp[6];
cout<<"Please input 3 strings:"<<endl;
cin>>str1>>str2>>str3;
if( strcmp(str1,str2) < 0)
{
strcpy(temp, str1);
strcpy(str1, str2);
strcpy(str2, temp);
}
if( strcmp(str2,str3) < 0)
{
strcpy(temp, str2);
strcpy(str2, str3);
strcpy(str3, temp);
if( strcmp(str1,str2) < 0)
{
strcpy(temp, str1);
strcpy(str1, str2);
strcpy(str2, temp);
}
}
cout<<"str1:"<<str1<<endl;
cout<<"str2:"<<str2<<endl;
cout<<"str3:"<<str3<<endl;
return 0;
}
#include <stdioh>
#include <stringh>
void main()
{
int i;
char s1="abDuj";
char s2="ABdUG";
int t=strcmp(s1,s2);//看这里,加类型名
printf("%d\n",t);
}
k==i 说明排序前k,i指向一个人的id,排序后还是指向一个人,所以没必要交换
strcmp(name[k],name[j])>0 strcmp 字符串比较函数,
这是一个选择排序算法,每趟求出最大人名的下标,并交换
1找出10条字符串中最长的字符串(每条小于80个字),并打显示出最长的字符串所含字符的个数。
2将10条字符串按ASCII的顺序从小到大的顺序依次输出(若首字母相等,曾计算第二个字母)。
3我真不知道你会不会学程序,写成那样了,我估计你的意思是,先分别输入2位数组a和b得知,再在对应位置上相加,最后把c中每个值都输出出来。
4这个你先把错改改好了,我不明白你的意思。
5将数组a的第i行第j列放到b的第j行第i列,在输出出来
#include <stdioh>
#include <stringh>
int main()
{ int i,j;
char s[10][15],t[15];
for(i=0; i<10; i++)
scanf("%s",s[i]);
for(i=0; i<9; i++)
for(j=0; j<9-i; j++)
if(strcmp(s[j],s[j+1])>0)
{ strcpy(t,s[j]);
strcpy(s[j],s[j+1]);
strcpy(s[j+1],t);
}
for(i=0; i<10; i++)
printf("%s ",s[i]);
return 0;
}
以上就是关于c语言程序设计全部的内容,包括:c语言程序设计、要求:从键盘上输入3个字符串,从大到小排序进行输出.利用拷贝函数和比较函数实现.C++程序设计、c程序设计等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)