字符串
这个怎么搞/*-------------------------------------------------------
【程序设计】
---------------------------------------------------------
题目:请编写函数fun,对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按
ASCII码降序排列。
例如:原来的字符串为"CEAedca",排序后输出为"CedcEAa"。
注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入
你编写的若干语句。
-------------------------------------------------------*/
#include <stdio.h>
#include <ctype.h>
#include <string.h>
void wwjt( );
void fun(char *s,int num)
{
/**********Program**********/
/**********End**********/
}
void main( )
{
char s;
printf("输入7个字符的字符串:");
gets(s);
fun(s,7);
printf("\n%s",s);
wwjt( );
}
void wwjt( )
{
/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,
输出数据,关闭文件。 */
FILE *in, *out ;
char s ;
int i = 0 ;
in=fopen("in.dat","r");
if(in==NULL)
{
printf("Please Verify The Currernt Dir..It May Be Changed");
}
out=fopen("out.dat","w");
if(out==NULL)
{
printf("Please Verify The Current Dir.. It May Be Changed");
}
while(i < 10)
{
fgets(s,10,in) ;
s = 0 ;
fun(s,7);
fprintf(out, "%s\n", s) ;
i++ ;
}
fclose(in) ;
fclose(out) ;
}
*s++;
char *str=s;
char t;
int i,j,k;
t=str;
k=0;
for(i=0;i<5;i++)
{
for(j=i;j<5;j++)
{
if(t<str)
{
t=str;
k=j;
}
}
str=str;
str=t;
t=str;
k=i+1;
}
差不多是这样算法可能不是很好 本帖最后由 bin554385863 于 2019-12-1 18:01 编辑
#include <stdio.h>
#include <string.h>
void fun(char *str, size_t sz)
{
for (size_t i = 1; i < sz - 2; i++)
{
for (size_t j = 1; j < i; j++)
{
if (str < str)
{
char t = str;
*(str + j) = str;
*(str + i) = t;
}
}
}
}
int main(int argc, char const *argv[])
{
char str = "1234567";
printf("原字符串: %s\n", str);
fun(str, 8);
printf("改变之后: %s", str);
return 0;
}
========================================
Microsoft Windows [版本 10.0.18363.476]
(c) 2019 Microsoft Corporation。保留所有权利。
E:\Users\admin\Documents\VScode\Code>c:\Users\admin\.vscode\extensions\ms-vscode.cpptools-0.26.1\debugAdapters\bin\WindowsDebugLauncher.exe --stdin=Microsoft-MIEngine-In-j0q0loxd.cmr --stdout=Microsoft-MIEngine-Out-i1vcexpo.an1 --stderr=Microsoft-MIEngine-Error-yepcvpl1.vrt --pid=Microsoft-MIEngine-Pid-snc1b5ge.n2u --dbgExe=D:\MinGW\bin\gdb.exe --interpreter=mi
原字符串: 1234567
改变之后: 1654327
E:\Users\admin\Documents\VScode\Code>
页:
[1]