ccccc只有一个名字 2022-10-22 02:34 采纳率: 87.5%
浏览 29
已结题

c语言字符数组,看看哪有问题

/*输入一个正整数n(0<n<9)和一组(n个)有序的整数,
再输入一个整数x,
把x插入到这组数据中,
使该组数据仍然有序。*/
#include<stdio.h>
#include<string.h>
#define N 81
int main()
{
static char str[N];
int i,count,n,x,k;
printf("Enter n:");
scanf("%d",&n);//输入n
getchar();//吸收回车
printf("Enter %d integers:",n);
getchar();//吸收回车
gets(str);//输入字符串
printf("Enter insert integer:");
scanf("%d",&x);//输入数据
for(i=0;i<strlen(str);i++)
if(x<str[i]){k=i+1;break;}//判断x的位置
for(i=strlen(str)+1;i>k;i--)
str[i]=str[i-1];
str[k]=x;//插入x
for(i=0;i<=strlen(str);i++)
printf("%4d",str[i]);//输出
// printf("%d",k);
return 0;
}

/输入10个整数,
将它们从大到小排序,
并查找输出最小数出现的次数
/
#include<stdio.h>
#define N 10
int main()
{
int a[N];
int count=0,i,j,t;
for(i=0;i<N;i++)
scanf("%d",&a[i]);//输入
for(i=0;i<N;i++){
for(j=0;j<N-i;j++){
if(a[j]<a[j+1]){
t=a[j];
a[j]=a[j+1];
a[j+1]=t;}}//冒泡法
}
for(i=0;i<N;i++)
printf("%4d",a[i]);//输出
printf("\n");
for(i=0;i<N;i++)
if(a[i]==a[N-1])count++;
printf("count=%d",count);//统计最小值个数
return 0;
}

  • 写回答

1条回答 默认 最新

  • X-道至简 2022-10-22 08:50
    关注

    第一个问题 输入的是字符串 要求是整数
    第二个问题 j在i为0的时候为越界 改成N-i-1 一

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 10月31日
  • 已采纳回答 10月23日
  • 创建了问题 10月22日