c语言题目:输入n,删除数组中所有与n相同的元素,否则原样输出。

作者&投稿:佟邱 (若有异议请与网页底部的电邮联系)
C语言,删除数组中的重复元素~

#include
#define N 1000
#define FLAG 0x80000000 /*特殊标记,用最小的负数表示*/
void main( )
{
int r[N], length, i, j;
scanf("%d", &length);
for(i = 0; i < length; i++)
scanf("%d", &r[i]);
for(i = 0; i < length - 1; i++)
{
if(r[i] != FLAG)
{
for(j = i + 1; j < length; j++)
if(r[j] == r[i]) r[j] = FLAG; /*遇到重复值,则先用特殊标记覆盖它*/
}
}
for(i = 0; r[i] != FLAG; i++); /*找到第一个特殊标记*/
for(j = i + 1; j < length;) /*删除数列中的特殊标记*/
{
if(r[j] != FLAG) r[i++] = r[j++];
else j++;
}
length = i; /*修改删除重复值后的数列的长度*/
for(i = 0; i < length; i++)
printf("%-4d", r[i]);
}

// 刚写的,验证过无误#includeint binary_search(int *src,int num, int tar){ //二分查找int head = 0; int tail = num - 1;int mid;while(head tar){tail = mid - 1;}else {head = mid + 1;}if(head == tail&&src[head] != tar){return head;}}}int insert_array(int * src,int &num, int tar){//检查并插入int res = binary_search(src, num, tar);if(src[res] == tar){return res;}else if (src[res] > tar){for(int i = num; i > res; i--){src[i] = src[i-1];}src[res] = tar;num = num + 1;return -1;//如果是插入操作返回-1}else{for(int i = num; i > res + 1; i--){src[i] = src[i - 1];}src[res + 1] = tar;num = num + 1;return -1;//}}int main(){int src[10] = {1, 2 ,4, 8};int num = 4;int res = insert_array(src, num, 9);printf("%d
", res);return 0;}



#include<stdio.h>
#define length 10

int main()
{
       int a[length]={1,2,6,9,13,24,38,52};
       int n,i;
       scanf("%d",&n);
   
       for(i=0;i<length;i++)
       {
               if(n==a[i])
               {
                       a[i]=0;
                }
       }
       for(i=0;i<length;i++)
       {
               if(0!=a[i])
               {
                   printf("%d ",a[i]);
               }
       }        
   return 0;
}

for(i=0;i<k;i++)  //k是数组元素的个数
{
  if(str[i]==n) 
{  m=i;
    for(j=m;j<k;j++)
    str[j]=str[j+1];
}
}



编程高手进:输入n个数,求n个数的和,并输出这n个数
h>void main(){int i, n, a[100], sum = 0;printf("你想输入几个数:");scanf_s("%d", &n);printf("请输入这%d个数:",n);for (i = 0; i<n; i++){scanf_s("%d", &a[i]);sum += a[i];}printf("这%d个数的和为:%d\\n", n, sum);for (...

C语言问题:由键盘输入n(n不超过1000)个学生m(m不超过10)门课程的成绩...
include <stdio.h>int main() { unsigned a[1000][10], s[1000]={0},i,j,p,m,n,t,sum[1000]={0};float aver; printf("输入学生人数m,输入课程数n\\n"); scanf("%d%d",&m,&n); if(m==0||n==0) printf("Data error!\\n"); else {for(i=0;i<m;i++) { ...

C语言写程序:输入一个正整数n(n<7),输出n行由大写字母A开始构成的三 ...
include <stdio.h>int main(){ char c='A'; int n; scanf("%d",&n); while(n) { int i; for(i = 0; i < n; i++) putchar(c++); n--; printf("\\n"); } return 0;}

c语言题目 输入正整数n,求 S=2\/1-3\/2+5\/3-8\/5+…的前n项之和并输出该...
逻辑有些混乱,需要好好整理一下思路,修改如下:include include int main(){ double t1=1,t2=2,sum=0.0,t;\/\/统一数据类型 int i=0,n,sign=1;printf("Please input a intenger n:\\n");scanf("%d",&n);do{ sum=sum+sign*(t2\/t1);t=t2+t1;t1=t2;t2=t;sign=-sign;++i;}...

c语言先输入一个整数n,再输入n个学生成绩,统计及格学生的人数并输出...
* sizeof(struct Student));for(i=0;i<len;++i)\/\/输入 { printf("请输入第%d个学生的成绩;\\n",i+1);printf("成绩:");scanf("%f", &pArr[i].score);} for(i=0; i<len;++i){ if(pArr[i].score > 60)j += 1;} printf("及格的人数为:%d人。", j);return 0;} ...

用c语言 编程求N!(n值从键盘输入) 菜鸟求助大侠,在此先谢过。。答案要...
include <stdio.h> void main(){ int n,totol=1,i;scanf("%d",&n);for (i=1;i<=n;i++)totol*=i;printf("%d\\n",totol);}

C语言题目 输入一个数n 按照第一行1 第二行23 第三行456 第四行 78910...
\/\/刚写的code,测试通过,如果有疑问,欢迎交流\/\/输入n的值就可以了。#include<stdio.h>int main(){int cur_max = 1;int cur_idx = 1;int n,i;scanf("%d", &n);for(i = 1; i<=n;i++){printf("%d", i);if(cur_idx == cur_max){cur_idx = 1;cur_max++;printf("\\n"...

C语言题目。编写程序实现,用户输入一个整数n,计算n!并输出。
include<stdio.h> int main(){ int n,i,j;scanf("%d",&n);int sum=1;for(i=1;i<=n;i++){ sum=sum*i;} printf("%d\\n",sum);return 0;}

(C语言)输入正整数n,再输入n个字符,统计英文字母(不区分大小写)、空格...
直接上代码:int main(){ int n,letter=0,blank=0,digit=0,other=0;printf("Enter n:");scanf("%d",&n);printf("Enter %d characters:",n);char *c=new char[n+1];scanf("%s",c);for(int i=0;i<n;i++){ if ((c[i]>='a'&&c[i]<='z')||(c[i]>='A'&&c[i]<...

c语言题目 输入正整数n,求 S=2\/1-3\/2+5\/3-8\/5+…的前n项之和并输出该...
逻辑有些混乱,需要好好整理一下思路,修改如下:include<stdio.h> include<stdlib.h> int main(){ double t1=1,t2=2,sum=0.0,t;\/\/统一数据类型 int i=0,n,sign=1;printf("Please input a intenger n:\\n");scanf("%d",&n);do{ sum=sum+sign*(t2\/t1);t=t2+t1;t1=t2;t2=t;...

古田县19130862244: c语言题目:输入n,删除数组中所有与n相同的元素,否则原样输出. -
兴咽欣弗: 1 2 3 4 5 6 7 8for(i=0;i<k;i++) //k是数组元素的个数 {if(str[i]==n) { m=i;for(j=m;j<k;j++)str[j]=str[j+1]; } }

古田县19130862244: c语言 用键盘输入n个数用一个数组保存,删除组中所有重复元素. -
兴咽欣弗: int num[n],i,j;scanf("%d\n",&i);for(i=0;i

古田县19130862244: c语言:从数组中删除数据怎么做? -
兴咽欣弗: #include<stdio.h> #define N 10 void main( ) { int a[N] , num ,i , *p , n=N; int j;/*输入N个数到数组a中;*/ for(i=0;i<n;i++) {scanf(“%d”,&num);a[i]=num; } /*在数组a中删除指定的数num;*/ for(i=0;i<n;i++) {if(a[i] == num){//a[i]=a[n];//如果不...

古田县19130862244: C语言中,如何删去一维数组中的元素,再将剩下的表示出来? -
兴咽欣弗: 例6-2 将10个整数存入数组,删除数组中的某个元素.例如,数组中有1,2,3,4,5,6,7,8,9,10共10个元素,删除第5个元素后,数组中剩下9个元素1,2,3,4,6,7,8,9,10. 首先定义一个长度为的int型数组,用来存放10个整数.用循环输入数组的每个...

古田县19130862244: 用C语言实现一维数组中删除第N个元素的程序怎么写 -
兴咽欣弗: #include<stdio.h> int main() { int arr[]={1,3,10,5,4,} ; int delect=0; int i=0,j=0,k=0,t; int n;//n为数组长度 n=sizeof(arr)/sizeof(int); //printf("%d\n",n);//测试n printf("删除前数组为:"); for(k=0;k<=n-1;k++) { printf("%4d",arr[k]); } printf("\n"); ...

古田县19130862244: C语言作业 数组中有N个数,任意输入一个数X,要求删除数组中与X相同的所有数 -
兴咽欣弗: #include#include int main() { char a[100]; int m,i,j,x; gets(a); m=strlen(a); scanf("%d",&x); for(i=0;i{ if((a[i]-48)!=x) printf("%c",a[i]); } } 这个应该可以的,希望有帮助

古田县19130862244: C语言:要求从一个整形数组中删除所有大于数组平均值并且是5的倍数的那些整数 -
兴咽欣弗: #include int del(int r[], int n) { int sum = 0, avg, i, k; if (nfor (i = 0; iavg = (sum + 0.5) / n; // 为了达到四舍五入的效果 for (k = 0, i = 0; iif (!(r[i] % 5 == 0 && r[i] > avg)) r[k++] = r[i]; return k; } int main() { FILE *fp = fopen("myf2.out", "wt"); int res[] ...

古田县19130862244: c语言如何输入一个数删除数组中所有的与这个数相同的数?是所有的.
兴咽欣弗: //#include "stdafx.h"//vc++6.0加上这一行. #include "stdio.h" void main(void){ int a[20]={0,1,2,3,4,4,3,4,5,6,7,11,23,2345,56,45,3,23,45,67}; int b[20],i,j,n; printf("Type a number...\nn="); scanf("%d",&n); for(j=i=0;i<20;i++) if(a[i]!=n) b[j++]=a[i]; for(i=0;i<j;printf("%d ",b[i++])); printf("\n"); }

古田县19130862244: c语言清除数组内容... -
兴咽欣弗: 这个很简单的,下面是我的程序#include "stdio.h"void main(){ int i,a; int n; //输入n个数 int m=0; //控制数组下标 int number[50]; sca...

古田县19130862244: c语言编程:删除数组a中所有值为x的元素,输出执行删除前后的数组. -
兴咽欣弗: 依次遍历数组,找到该元素后,数组后面所有元素前移,并且元素个数减一,最后重新输出该数组即可. 参考代码: #include <stdio.h> int main() { int n=10,i,j,x,a[10]={0,1,2,3,4,5,5,6,7,8}; scanf("%d",&x); for(i=0;i<10;i++){ if(a[i]==x){ for(j=i;j+1<...

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