C语言:从键盘输入长度为10的字符串,除第一和最后一个字符外按降序排序,编写函数指针传递完成,咋写?

供稿:hz-xin.com     日期:2025-01-13
C语言编程 编写程序,从键盘输入一个字符串放在字符数组a中,用选择法将a中的有效字符按降序排列

#include
#include
#include
void inOrder(char array[], int n );
int main(int argc, char *argv[])
{

char temp[100];
printf("请输入字符串:
");
gets(temp);
char a[strlen(temp)+1];
strcpy(a,temp);
inOrder(a,strlen(temp));
int k;
for(k=0; k<strlen(temp); k++)
{
printf("%c",a[k]);
}
system("pause");
return 0;
}
//选择法排序函数
void inOrder(char array[], int n)
{
int i, j;
char temp;
for(i=0; i<n-1; i++)
{
for(j=i+1; j<n; j++)
{
if(array[j]>array[i])
{
temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
}

在DEV C++中编写可用,temp数组只是暂时存放输入字符串的,它的大小可根据你实际需要调大调小。

#include
int fun(char str[7]);
int main()
{
char str[7]={'
'};
int i=0;
printf("输入7个字符的字符串:
");
scanf("%s",str);
fun(str);
for(i=0;i<7;i++){
printf("%c",str);
}
}
int fun(char str[7])
{
int i=0,temp=0;
int j=0;
for(i=1,j=5;i<=j;i++,j--){
if(str<str[j]){
temp=str;
str=str[j];
str[j]=temp;
}
}
return;
}

扩展资料:chara使用方法:
C语言中char用于定义字符类型变量或字符指针变量,例如“chara;”则定义了变量a是字符类型,“char*a;”则定义了变量a是字符指针类型。
char是C语言整型数据中比较古怪的一个,其它的如int/long/short等不指定signed/unsigned时都默认是signed,但char在标准中不指定为signed/unsigned,编译器可以实现为带符号的,也可以实现为不带符号的。
关于char还有一个特殊的语言就是char*,它在C语言中有专门的语义,既不同于signedchar*,也不同于unsignedchar*,专门用于指以'\0'为结束的字符串。
C语言所有基本数据类型:
void:声明函数无返回值或无参数,声明无类型指针,显示丢弃运算结果。
char:字符型类型数据,属于整型数据的一种。
int:整型数据,表示范围通常为编译器指定的内存字节长。
float:单精度浮点型数据,属于浮点数据的一种。
double:双精度浮点型数据,属于浮点数据的一种。

代码文本:

#include "stdio.h"

#define N 10

void myf(char *p){

char i,j,k,n;

for(n=0;p[n];n++);

for(n--,i=1;i<n-1;i++){

for(j=(k=i)+1;j<n;j++)

if(p[k]<p[j])

k=j;

if(k!=i)

j=p[k],p[k]=p[i],p[i]=j;

}

}

int main(int argc,char *argv[]){

char s[N+1];

printf("Enter a string(length 10)...
");

scanf("%10s",s);

printf("After ordering:
");

myf(s);

puts(s);

return 0;

}



10个字符,除去首位,还又8个,
降序排列,那就要比大小,比大小一定要2层循环,一层不行的
For(i=1,i<10,i++)
For(j=i+1,j<10,j++)
If S[i]>s[j]
替换

C语言:从键盘输入长度为10的字符串,除第一和最后一个字符外按降序排序...
char s[N+1];printf("Enter a string(length 10)...\\n");scanf("%10s",s);printf("After ordering:\\n");myf(s);puts(s);return 0;}

从键盘上输入一个长度为十的数组,然后逆序输出(C语言编程)
\/ 从键盘上接收10个字符,按逆序输出 \/ include <stdio.h> include <conio.h> int main(int argc, char*argv[]){ char szInput[10] ="";int i =0;printf( "请输入10个字符:");gets( szInput);for( i =9; i >=0; --i){ putchar( szInput[i]);} printf( "\\n");return ...

C语言:从键盘输入长度不大于10的字符串,在每个字符后插入一个和原来相同...
int main(int argc,char *argv[]){ char s[21],i,j;printf("Please enter a string length is not more than 10...\\n");scanf("%10s",s);printf("Before:\\n%s\\nAfter:\\n",s);for(i=0;s[i];i++);\/\/计算输入字符串的长度 for(s[j=i--<<1]='\\0',j--;i>=0;i--,...

C语言,从键盘输入一个长度为10的整数数组和一个数字,用顺序查找法找...
void main(){ int i,a[10],k,pos=-1;for(i=0;i<10;i++)scanf("%d",&a[i]);scanf("%d",&k);for(i=0;i<10;i++)if(k==a[i])pos=i;printf("pos=%d\\n",pos);}

在c语言里怎么从键盘输入一个较大数字,如10^100
用字符串的方法 先用字符串输入一个很大的数 任意 然后一个个转换成整型 附上一部分代码 int num1[1000],num2[1000];main(){ int i=0,count1=0,count2=0,len=0;char a[1000],b[1000];scanf("%s%s",a,b);count1=strlen(a);count2=strlen(b);for(i=count1-1;i>=0;i--)...

...* 从键盘上输入一个字符串(长度不超过10个字符); * 在这个字_百度...
这个问题有个容易的解决办法;include<stdio.h> void main(){ int i,str;char a[10],b[12];scanf("%s",a);str=strlen(a);b[0]='8';for(i=1;i<str;i++)b[i]=a[i-1];b[str]='*';printf("%s",b);}

c语言从键盘输入十个字母,要求大小写均包含。将全部字符分别转换成_百 ...
C语言程序设计中,编写一个程序来从键盘输入十个字母,要求包含大小写字母,并将所有输入的字符转换为对应的大写或小写形式。具体代码如下:include int main() { int i = 0;char str[10];for (i = 0; i < 10; i++) { scanf("%c", &str[i]);if (str[i] >= 'a' && str[i] ...

c语言,从键盘上输入10个字符,将其中的小写英文字母转换成大写英文字母...
include<stdio.h> void main(){int i;char c;for (i=0;i<10;i++){c=getchar();\/\/这一句不知道对不对?if (c>='a'&&c<='z')c=c-32;printf("%c ",c);} }

补充编程题1: 从键盘输入10字符,将其中的小写字母转换成大写字母输出...
public static void main(String[] args) { Scanner sc = new Scanner(System.in);System.out.println("请输入你要转换的字符:");String str = sc.nextLine();String str1 = "";for (int i = 0; i < str.length(); i++) { char c = str.charAt(i);if (Character.isLetter(c)...

【急急急】用汇编语言 从键盘输入10个字符,每个对应这个ASCII值,编程找...
endscode segmentstart:mov ax,data mov ds,ax mov cx,10 mov bx,0 l1: mov ah,1 int 21h cmp al,byte ptr [bx] jna l2 mov byte ptr [bx],all2:loop l1 mov ax,004ch int 21hcode endsend start我没有试验,应该没问题 ...