C语言这个怎么编程啊?

2025-03-09 10:38:51
推荐回答(5个)
回答1:

函数InitSqSysPad()的第一个参数,应该是SqSysPad类型的变量,而你传给它的参数却是SqSysPad *(指针)类型的变量。所以,编译器提示:不能把第一个参数从SqSysPad *类型转换成SqSysPad 类型。其它几条都是类似的情况。

回答2:

#include

#include

int main()

{

int arr[10]={0};//声明一个为十的数组
for(int i=0;i<8;i++)
{
scanf("%d",arr[i]);//一个一个读入
}
sort(arr,arr+8);//使用头文件排序
for(int i=0;i<8;i++){
printf(arr[i]);//最后输出
}
}

回答3:

选择排序是最容易掌握的,因为它代码最短。

算法就是:找出数组中最小的那个数,放在第一个。然后再找第二小的放在第二个。这样一直做下去。

代码是两重循环。外重就是i从头扫到尾,内重就是j从指定的项i开始找最小的——发现更小的就交换i,j两项位置。

把新数插入有序数组,算法分成两部分,第一部分是找到要插入的位置。最简单就是从头扫描,找到第一个比它大的项,那个项就是要插入的位置。

第二部分是把数组后面的部分向后移动一格。这必须从后往前扫描,把数据项逐次往后搬。

这样解释,会写了吗?

回答4:

#include

int main()
{
int i,j,n,arr[10],len=8;

printf("请输入%d个整数:",len);
for(i=0;i scanf("%d",arr+i);
for(i=0;i {
n=i;
for(j=i+1;j {
if(arr[j] n=j;
}
if(i!=n)
{
j=arr[i];
arr[i]=arr[n];
arr[n]=j;
}
}
printf("按从小到大排序后:");
for(i=0;i printf("%d%c",arr[i],(len-1==i ? '\n' : ' '));
printf("请输入你要插入的整数:");
scanf("%d",&n);
if(n>arr[len-1])
arr[len]=n;
else
{
for(i=0;i {
if(n<=arr[i])
{
for(j=len-1;j>=i;j--)
arr[j+1]=arr[j];
arr[i]=n;
break;
}
}
}
len++;
printf("插入%d后:",n);
for(i=0;i printf("%d%c",arr[i],(len-1==i ? '\n' : ' '));
return 0;
}

回答5:

#include
void main()
{
int i,j,t,p,a[9],m;
for(i=0;i<8;i++)
scanf("%d",&a[i]);
for(i=0;i<8;i++)
{
p=i;
for(j=i+1;j<8;j++)
if(a[j] if(p!=i){t=a[i];a[i]=a[p];a[p]=t;}
}
for(i=0;i<8;i++)
printf("%5d",a[i]);
printf("\n");
printf("请输入要插入的整数:");
scanf("%d",&m);
for(i=7;i>=0;i--)
if(m else break;
a[i+1]=m;
for(i=0;i<9;i++)
printf("%5d",a[i]);
printf("\n");
}