用指针法把4插入1,3,5,7,9数列中.我得到的结果是134790,不知错在那里?
#include <stdio.h>
void main(){
int *p,i,t,a[6]={1,3,5,7,9},b=4,l,h,j;
p=a;
for(i=1;i<6;i++,p++)
if (*p>b) break ;
t=b;*p=b;h=*p;
for(j=6;j<i;j--,p++)
l=*p,*p=h;h=l;
p=a;
for(i=1;i<7;i++,p++)
printf("%d",*p);
}
帮我检查一下这段C语言.
if (*p>b) break ;在这个语句执行后,程序中p已经指向了数组a的第3个元素:a[2] = 5 所以你随后的“*p=b;”这一句,其实就是将p指向的元素的内容赋值为b(也就是4),所以a[2]的内容就变成了4,所以结果就变成了134790 错误3. 数组的插入算法错误 下面这个语句是无法实现数组的插入的:for...
帮我检查我这个C语言怎么错了。
printf("Pass=%.1f%\\n",100*c\/n);printf("Fine=%.1f%\\n",100*d\/n);} 改好了
帮我看下这个C语言代码剩下的怎么写
void main(){ int a[10],i,x;printf("请输入十个数:");for(i=0;i<10;i++){ scanf("%d",&a[i]);} printf("这些数是:\\n");for(i=0;i<10;i++){ printf("%d ",a[i]);} printf("\\n在输入一个数:");scanf("%d",&x);int flag = 0;for(i=0;i<10;i++){ if...
谁帮我看看这段C语言程序什么意思?
回答:是将一段字符串表示的十六进制数转成数值,例如将字符串"0102030a"转成数值1,2,3,10,并将这些数值保存到buf中
谁帮我看下这段C语言为什么输出的都是长方形
在输入的时候你需要加一个逗号,注意:因为你写的是:scanf("%d,%d",&a,&b); 否则b将接收不到数值,那么a和b就永远不会相等了,所以就都执行printf("changfangxing")了。
大神帮我看下这段C语言代码,把字符串里的大写英文字母全部转换为小写...
char *dx(char *, char *);void pd(char*);int main(int argc,char *argv[]){char str1[100], str2[100];printf("请输入一串英文字符:\\n");gets_s(str1,100);pd(str1);dx(str1,str2);printf("全部转换为小写字母输出:%s",str2);system("pause");return 0;}char *dx(char...
哪位大佬能帮看看这道c语言?
if(*pa<=*pb)\/\/找到第一个a小于等于b,就把b元素插入到a元素后面(a移位){ flag=1;move1(pa+1,a,50);\/\/a当前元素之后的元素向后移1位 (pa+1)=*pb;break;} pa--;} if(!flag)\/\/如未发生位移,说明该b元素小于所有a元素,插入再a数组开始位置,a所有元素后移1位 move1(a,a,50...
帮我看看这段C语言哪错了?我照着书上抄的啊
第二行 int main(void) ,void 前面的括号应该是半角字符的(,而不是全角的(
求各位c语言老师帮我检查下程序,谢谢
这是我改好的,应该没有问题。修改过的地方我都加标注了,你对照你的看一下。为了 方便测试,我把 N 改成 4 了。你改成10就行了 。include<stdio.h>#define N 4struct student{ char num[6]; char name[8]; int score[4]; int total; float avr;};float aver;int k...
求大神帮我看看这条c语言
int a=37;a+=a%=9;运算过程:a=a%9=37 % 9=1 a+=1,即a=a+1 所以,a=2