您的位置:首页 > 其它

数组数据的处理

2020-02-03 04:23 302 查看

两个数组数据的交换
用函数编程实现两个数组中对应元素值的交换。
输入格式要求:"%d" 提示信息:“Input array size(n<=10):” “Input array a:” “Input array b:”
输出格式要求:“Output array a:” “Output array b:” “%5d”
程序运行示例如下:
Input array size(n<=10):5
Input array a:1 2 3 4 5
Input array b:6 7 8 9 10
Output array a: 6 7 8 9 10
Output array b: 1 2 3 4 5

#include  <stdio.h>
#define N 10
void ReadData(int a[], int n);
void PrintData(int a[], int n);
void Swap(int *x, int *y);
int main()
{
int  a[N], b[N], i, n;
printf("Input array size(n<=10):");
scanf("%d", &n);
printf("Input array a:");
ReadData(a, n);
printf("Input array b:");
ReadData(b, n);
for (i = 0; i < n; i++)//2
{
Swap(&a[i], &b[i]);//2
}
printf("Output array a:");
PrintData(a, n);
printf("Output array b:");
PrintData(b, n);
return 0;
}
void ReadData(int a[], int n)
{
int i;
for (i = 0; i < n; i++)
{
scanf("%d", &a[i]);
}
}
void PrintData(int a[], int n)
{
int i;
for (i = 0; i < n; i++)
{
printf("%5d", a[i]);
}
printf("\n");
}
/* 函数功能:两整数值互换 */
void  Swap(int *x, int *y)
{
int  temp;
temp = *x;//2
*x = *y;//2
*y = temp;//2
}

删除数据
用字符数组作函数参数编程实现如下功能:在字符串中删除与某字符相同的字符。
提示信息:
“Input a string:” “Input a character:”
**输入格式要求:"%s"
**输出格式要求:“Results:%s\n”
程序运行示例1如下:
Input a string:hello,world!
Input a character:o
Results:hell,wrld!

#include <stdio.h>
void  Squeeze(char s[], char c);
int main()
{
char  str[20], ch;
printf("Input a string:");
gets(str);
printf("Input a character:");
ch = getchar();
Squeeze(str, ch);
printf("Results:%s\n", str);
return 0;
}
void  Squeeze(char s[], char c)
{
int i, j;
for (i = j = 0; s[i] != '\0'; i++)
{
if (s[i] != c)
{
s[j] = s[i];
j++;
}
}
s[j] = '\0'; /* 在字符串s的末尾添加字符串结束标志 */
}

或者

#include <stdio.h>
#include <string.h>
#define N 100
void Y(char *p, char c, int n);
int main()
{
int n;
char str[N], c;
char *p;
p = str;
printf("Input a string:\n");
gets(str);
n = strlen(str);
printf("Input a character:\n");
c = getchar();
Y(p, c, n);
printf("Results:%s\n", str);
return 0;
}
void Y(char *p, char c, int n)
{
int i, find = 0;
for(i=0;i<n;i++)
{
if(*(p+i) == c)
{
*(p+i) = '\0';
find = 1;
}
if(find)
{
*(p+i) = *(p+i+1);
}
}
return ;
}
  • 点赞
  • 收藏
  • 分享
  • 文章举报
绀香零八 发布了32 篇原创文章 · 获赞 10 · 访问量 950 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: