有一個資料檔案test2-2.in,其中存有一行字串,將該字串讀到字符陣列a中,然后將字符陣列a中下標值為偶數的元素從小到大排列,其它元素不變。要求輸出重新排序的整個字串以及下標為偶數的元素。
撰寫程式test2-2.c,實作上述功能。
資料檔案test2-2.in的內容參見如下:a8V61tHZw#A
uj5u.com熱心網友回復:
檔案讀寫參考我用#CSDN#這個app發現了有技術含量的博客,小伙伴們求同去《C語言檔案讀寫(1)-文本檔案讀操作》, 一起來圍觀吧 https://blog.csdn.net/zhanghaiyang9999/article/details/107032563?utm_source=app
uj5u.com熱心網友回復:
供參考
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 256
int main(void)
{
int temp[N] = { 0 };
char a[N] = { 0 }, c[N] = { 0 }, ch;
int i = 0, j = 0, k = 0, count = 0;
FILE *fp = fopen("test2-2.in", "r");
if ( !fp )
{
printf("檔案讀取失敗!\n");
exit(1);
}
fscanf(fp, "%s", a);
count = strlen(a);
printf("原字串:%s\n", a);
for ( i = 0; i < count; i++ )
{
if ( i % 2 == 0 )
{
temp[j] = i;
c[j] = a[i];
j++;
}
}
printf("下標為偶數的元素:%s\n", c);
for ( i = 0; i < j-1; i++ )
{
for ( k = 0; k < j - 1 - i; k++ )
{
if (c[k] > c[k+1])
{
ch = c[k];
c[k] = c[k + 1];
c[k + 1] = ch;
}
}
}
for (i=0; i<j; i++)
{
a[temp[i]] = c[i];
}
printf("排序后字串:%s\n", a);
fclose(fp);
getchar();
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/25893.html
標籤:C語言
上一篇:關于快排的第一趟結果
下一篇:這個程式為什么出現了段錯誤?
