1道C语言问题:f的功能是将n个字符串按由大到小的顺序进行排序

作者&投稿:浦冰 (若有异议请与网页底部的电邮联系)
1道C语言问题~

c

#include
#include
int main ()
{
char s[100][50],t[50];
int n,i,j,k;
scanf("%d
",&n);
for(i=0;i<n;i++)
gets(s[i]);
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(strcmp(s[j],s[k])<0)k=j;
strcpy(t,s[i]); strcpy(s[i],s[k]); strcpy(s[k],t);
}
printf("======
");
for(i=0;i<n;i++)
puts(s[i]);
return 0;
}
伪代码:
1。输入n
2。输入n个字符串到s数组
3。i=0
4。扫描第i个以后的所有字符串,找到最小字符串的序号
5。将第i个字符串与找到的最小字符串交换,然后i加1。
6。如i<n,转4。
7。输出n个字符串。

if(strcmp(p[i],p[j])<0)
是字符串由大到小的顺序进行排序
并不是按字典序排序,而是字典序的倒序。
所以排在最前头的是"dcdbe"

题中说明了函数f 的功能是将n 个字符串按由大到小的顺序进行排序,故不需要再研究函数f 的具体语句,直接可以写出调用f 后的结果:数组p 中前5 个元素的内容变为{"dcdbe", "cd", " abc", "abbd", "aabdfg"}


1道C语言问题:f的功能是将n个字符串按由大到小的顺序进行排序
并不是按字典序排序,而是字典序的倒序。所以排在最前头的是"dcdbe"

c语言的一些问题
1.%f中的f是单精度,其精确到小数后6位。 这个不仅在这里会是6位,你随便定义个f的类型,输出f的类型,一样精确到小数点后6位,所以这是最原始的输出(相比较你后面的输出)2.%8f 中的8是从右边数占8个字的宽度。我们知道f输出的值是123.456001。可以输出123.456001的宽度是10(包括小数点...

C语言中的F格式符
f 就是输入输出float类型的格式符,跟%d一样用就可以了. 指定字段长度就是%km.nf这样来用,k是正负号,正可以省略,正表示右对齐,负表示左对齐.比如说-789.124这个数,一共占8个格子,那么比如%10f,就会左边空两格,然后再输出这个数,%-10f就是先输出这个数,再空两格,然后什么%4f,%3f在这里都没...

C语言问题, f,lf,8.4lf区别,输出格式 看图,指导下为什么这么输出...
f格式,默认有6位小数,但是float类型最多只能保存6-7位有效数字,如果超出此范围,则多余的数字没有意义。float类型占用4个字节。lf格式,用来输出double型数据,默认有6位小数,最多能保存15-16位位有效数字。double型占用8个字节。8.4lf,输出总宽度至少8位,不足时,前面补空格;固定输出4位小数...

c语言问题,为什么输出的f是10?
0开头表示8进制 8进制的第二位权值是8,所以012等于十进制的8+2=10 所以输出10

c语言的f格式输入输出问题:%10f这个是啥意思啊?数据不够10了是左对齐...
10f是输出的浮点数据最少占十列,超出十列的不全部显示,不足十列的左补空格补满十列。只有加了-号才是左对齐。

c语言,指向函数的指针变量问题:设有定义语句int(*f)(int);,则以下叙述...
选B 指针基类型就是指针变量可指向的变量类型。f是函数指针,f指向的函数类型是int(int)(包含一个int型返回值和一个int型形参)。所以f的基类型就是int(*)(int)。f是函数指针变量。这里四个选项只有B说法正确。

c语言小问题, ,,前面f已赋值了,为啥输出后值不管前面的赋值
把printf("(int)f=%d,f=%f\\n",4,4.4);改成printf("(int)f=%d,f=%f\\n",(int)f,f);。printf("(int)f=%d,f=%f\\n",4,4.4);这样写输出的是4和4.4而不是变量f的值。

一个C语言的小问题
f 递归调用自身输出m\/2,然后再输出m 如果f(4)就输出124了

C语言问题 F: 整数的位数?
include <stdio.h> define N 1000000 int main() { char s[N];int c = 0;scanf("%s", s);while (s[c++] != '\\0');printf("%d\\n", --c);return 0;}

抚远县17113516456: 1道C语言问题:f的功能是将n个字符串按由大到小的顺序进行排序 -
凤矿金维: if(strcmp(p[i],p[j])是字符串由大到小的顺序进行排序 并不是按字典序排序,而是字典序的倒序.所以排在最前头的是"dcdbe"

抚远县17113516456: 学生变量定义如下: struct student { char number[6]; char name[6]; int score[3]; } stu[2]; 功能: -
凤矿金维: #include#include struct student { char number[6],name[6]; int score[3]; }stu; int main() { stu s[2];//结构体数组 int i; for(i=0;i<2;i++) { scanf("%s%s",s[i].number,s[i].name); for(j=0;j<3;j++) scanf("%d",&s[i].score[j]); } system("pause"); return 0; }

抚远县17113516456: 编写一个程序f(char s[],int n),函数的功能将字符串s循环左移n个字符.编写主函数,输入一个整数n和一个 -
凤矿金维: #include "stdio.h" #include "string.h" void leftn(char *p,int n){char a[200]="";memcpy(a,p,n);strcat(strcpy(p,p+n),a); } void main(void){char arry[201];int n;printf("Type a string...\nStr=");gets(arry);printf("To shift to the left several?\nn=");scanf("%d",&n);leftn(arry,n);printf("%s\n",arry); }

抚远县17113516456: C语言:定义一个函数,其功能是求n! -
凤矿金维: #include int factn(int n)//求n!{ int i,f=1; for(i=1;i

抚远县17113516456: 函数f()的功能是什么c语言 -
凤矿金维: 看名字这是自定义函数, 需要知道函数的实现代码才知道这个函数的功能.

抚远县17113516456: C语言编程:写一个函数的功能是删除a字符串中的第n个字符,删除后的字符串保存到b中
凤矿金维: void f(char a[], int n. char b[]){ int i; for (i = n - 1; i--; b[i] = a[i]); for (i = strlen(a); i-- > n; b[i - 1] = a[i]); }

抚远县17113516456: C语言编程:定义一个函数,功能是将含有n个元素的整形数组中的数据前后顺序颠倒. -
凤矿金维: void change(int *a,int n) { int i; for(i=0;i<n/2;i++) swap(&a[i],&a[n-1-i]); } void swap(int *x,int *y) { int t; t=*x; *x=*y; *y=t; }

抚远县17113516456: C语言关于格式符f的使用的一道题 -
凤矿金维: printf("%f,%12f,%12.2f“,a,a,a);12.2f意思是占12字符,保留两位小数,为什么是123.456001因为编译器的缘故了.一般f是小数点6位,1就是编译器的关系(有些会是0).但保留两位时,编译器自动将后面的位四舍五入就是46了

抚远县17113516456: 请教C语言的一道题 -
凤矿金维: #include void f(int b[],int n,int flag) {int i,j,t; for(i=0;i b[j]):(b[i]<b[j])) {t=b[i];b[i]=b[j];b[j]=t;}} void m...

抚远县17113516456: 函数f的功能为:对一维整型数组array的n个元素中的正整数求和并统计个数.哪里有问题啊? -
凤矿金维: f(x,2,r); /*函数调用*/ printf("The sum of x is:%d\nThere are positive number:%d\n"...

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