求大佬帮忙看一下这个C语言题目程序该如何编写?

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-11
求大佬帮我看看这个C语言程序代码该如何编写?

#include
char *substrcpy(char *str,int m)
{
char *s,*q;
for(s=str;*s&&m>0;m--,s++);
if(m>0)
return NULL;
for(q=str;*q++=*s++;);
return str;
}
int main()
{
char s[]="Hello World";
printf("%s",substrcpy(s,6));
return 0;
}

#include
int n;
int a[10];
void input()
{
int i;
printf("请输入%d个整数:",n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
}
void sort(){
int i,j,temp;
for(j=0;j<n;j++){
for(i=0;i<n-j;i++){
if(a[i]<a[i+1]){
temp=a[i];a[i]=a[i+1];a[i+1]=temp;}
}
}
}
void output()
{
int i;
for(i=0;i<n;i++)
printf("%d ",a[i]);
printf("
");
}
int main()
{
while(1){

printf("请输入要排列的整数个数:");
scanf("%d",&n);
if(n=11)
printf("n必须大于0小于11
");
else
break;
}
input();
printf("原始数组是:");
output();
sort();
printf("排序后数组是:");
output();
return 0;
}

#include <stdio.h>

#include <malloc.h>

int main()

{

    int *a,n,*p,*q,i;

    scanf("%d",&n);

    a=(int *)malloc(sizeof(int)*n);

    for(i=0;i<n;++i)

    {

        scanf("%d",&a[i]);

    }

    for(p=a,q=a+n-1;p<q;p++,q--)

    {

        i=*p;

        *p=*q;

        *q=i;

    }

    for(i=0;i<n;++i)

    {

        printf("%d ",a[i]);

    }

    free(a);

    return 0;

}



  • 哪位大佬能帮看看这道c语言?
    答:思路:a,b都是默认输入升序的数(题目没要求验证,我的代码也不验证,请按升序输入,如需验证升序输入,只需定义一个变量记录输入的数字,并在下次循环输入时比大小。)所以,定义2个指针分别指向a,b最后一个输入的元素地址,嵌套循环,分别往前移动,同时比较两数组元素,每次找到对应位置就将a移位并插...
  • 求大佬帮忙看一下这个C语言题目程序该如何编写?
    答:include <malloc.h> int main(){ int *a,n,*p,*q,i;scanf("%d",&n);a=(int *)malloc(sizeof(int)*n);for(i=0;i<n;++i){ scanf("%d",&a[i]);} for(p=a,q=a+n-1;p<q;p++,q--){ i=*p;p=*q;q=i;} for(i=0;i<n;++i){ printf("%d ",a[i]);} free...
  • 求C语言大佬帮忙看一下这题,有解析更好,Thanks♪(・ω・)ノ_百 ...
    答:int fun(int *x,int *y)//自定义地址交换函数;{ int t;//自定义函数只能交换变量的地址;这我也讲不太明白;t=*x;//C语言就这样规定的;x=*y;y=t;} int main(){ int A[6],B[6],i;for(i=0;i<5;i++)scanf("%d %d",A+i,B+i);//输入一个A数组的,输入一个B数组的...
  • c语言题目求大佬详解
    答:这是一个对二维数组进行处理的程序,a是一个3行4列的二维数组。i为第一层循环值为0,1,2 j为嵌套循环值为0,1,2,3 循环内对数组a的值进行判断,如果是小于0,就继续下一个,如果是等于0,就跳出循环,如果是大于0的话,就执行s+=a[i][j]因此当i为0时,1,2,-3,-4 根据上面的...
  • C语言题目 求大佬帮看一下
    答:首先说一下题目的答案是:11 程序运行了一下, 截图如下:下面解析一下原因:1、根据判断条件来看,当 k = 10时, while 条件不成立。2、但是需要注意的一点是,在while条件中,使用的是 K++, 而++符号在后面。3、++运算符使用有两种, 先+1在用, 和先使用在+1。而此处使用的明明是后者。4...
  • C语言求助,哪位大佬帮我看看这道题?一直搞不清楚
    答:知道答主 回答量:133 采纳率:0% 帮助的人:5.2万 我也去答题访问个人页 关注 展开全部 这是一道C语言的增删改查的链表操作操作的典型题目,同时考察对结构体的理解程度。最简单的就是使用顺序链表做。 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 ...
  • C语言题目求大佬详解
    答:}int main() { int x = 3, y = 4, z = 5;swap(swap(&x, &y), &z); printf("%d, %d, %d\n", x, y, z); return 0;} 根据修正后的代码,回答问题如下:(1) 第1次调用swap()函数后,实参x的值为 3。在第一次调用swap()函数时,传入的实参是&x和&y,即变量x...
  • 求c语言大佬帮忙看看
    答:h> int *max(int *a,int *b){ return *a>*b?a:b;} int main(){ int n,a[111],max;scanf("%d",&n);for(int i=0;i<n;i++)scanf("%d",&a[i]);max=a[0];for(int i=0;i<n;i++){ max=*max(&a[i],&max);} printf("max=%d\n",max);return 0;} ...
  • C语言的题目 求大佬帮看一下
    答:在冒泡中,依次取每一位(i)和后面所有位(j),比较大小,如果满足比较条件,对应j的值就和i值交换。所以原代码可以直接写:for(i=0;i<N+1;i++) for(j=i+1,j<N;j++) if(st[j].sum>st[i].sum) { t=st[i]; st[i]=st[j]; st[j]=t; } ...
  • 求大佬帮忙看一下c语言,运行会被停止,结果也有问题
    答:include <stdio.h>main(){char a[100],*p=a;for(;;p++){scanf("%c",p);if(*p=='\n')break;}for(p--;p>=a;p--)//不然会多打印出一个换行printf("%c",*p);printf("\n");return 0;}第二个 输入十个数,找出最大和最小值, 最小值和第一个数交换, 最大值和最后一个数...