當前位置:首頁 » 編程語言 » c語言指針編程題經典
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言指針編程題經典

發布時間: 2023-03-26 06:10:00

c語言指針編程題

#include<stdio.h>
#include<string.h>
#define MAX 20
#define NUM 3
void sort(char *str[],int n)
{
char *temp;
int i,j,k;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(strcmp(str[k],str[j])>游譽0)k=j;
if(k!=i)
{
temp=str[i];
str[i]=str[k];
str[k]=temp;
}
}
}
void print(char *str[],int n)
{
int i;
for(i=0;i<絕茄n;i++)
printf("str[%d]%s\n",i,str[i]);
}
int main()
{
char str[NUM][MAX],*p[NUM];
int i;
for(i=0;i<3;i++)
{
printf("並磨察str[%d]:",i);
scanf("%s",&str[i]);
p[i]=str[i];
}
sort(p,3);
print(p,3);
}
根據你的改了 不知道能不能出來 自己試下

⑵ C語言指針編程題,求助大神解答

#include<stdio.h>

int a[200];

void rotateArray(int *a,int n,int m){

m%=n; //這句是防止m大於n 結果會不正確的情況

for(int i=m;i<n;++i)scanf("%d",&a[i]);

for(int i=0;i<m;++i)scanf("%d",&a[i]);


}

int main(){

int n,m;

scanf("%d%d",&n,&m);

rotateArray(a,n,m);

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

for(int i=1;i<n;++i)printf(",%d",a[i]);

return 0;

}

⑶ 【高分懸賞】C語言編程題 指針

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_N 20
#define MAX_DST 200
char *sub_str_cp(char *src, char *dst, int m)
{
char *dst_o = dst;
if (NULL==src || NULL==dst ||
strlen(src)>MAX_N || m<1 || m>MAX_N)
return NULL;
src += m-1;
while (*(dst++) = *(src++));
return dst_o;
}

char *str_join(char *src1,char *src2,char *dst)
{
char *dst_o = dst;
if (NULL==src1 || NULL==src2 || NULL==dst)
return NULL;
while (*(dst++) = *(src1++));
dst -= 1;
while (*(dst++) = *(src2++));
return dst_o;
}

int ins_sort(int iArr[],int num,int new_one)
{
if (NULL == iArr || num+1 >= MAX_DST)
return 0;
int *p = iArr + num - 1;
while (p >= iArr && new_one < *p)
{
*(p+1) = *(p);
p--;
}
*(p+1) = new_one;
return num+1;
}

// 刪除從字元數組dst中首次拍友渣出現的字元del_c
char *del_char(char *dst,char del_c)
{
int idx = 0;
char *dst_o = dst;
if (NULL == dst) return NULL;
while ('\0' != *dst)
{
if (*(dst++) != del_c)
*(dst_o + idx++) = *(dst-1);
}
return dst_o;
}

int main()
{
char src[MAX_N+1],src1[MAX_N+1],src2[MAX_N+1];
char dst[MAX_DST+1];
char cA;
int ins_new,num_of_iArr,iA;
int iSort[MAX_DST] = {12,23,32,55,100,101,205,309};
// sub str cp
int m;
printf("subject 1. strcpy\n");
printf("input string(length <= %d):",MAX_N);
scanf("%s",src);
printf(" string from position(1=<m<=%d):",MAX_N);
scanf("%d",&m);
printf("string have been copied:%s\n",sub_str_cp(src,dst,m));

// str join
printf("\nsubject 2. strcat\n");
printf("input string1(length <= %d):",MAX_N);
scanf("%s",src1);
printf("input string2(length <= %d):",MAX_N);
scanf("%s",src2);
printf("string after joining:%s\n",str_join(src1,src2,dst));

// array sort
printf("\nsubject 3. sorting\n");

num_of_iArr = 8;
printf("oringinal array:\n");
for (iA=0; iA<襲悄num_of_iArr; iA++)
printf("%d\t",iSort[iA]);

printf("\ninsert an integer:");
scanf("告散%d",&ins_new);
num_of_iArr = ins_sort(iSort,num_of_iArr,ins_new);
printf("array after sorting:\n");
for (iA=0; iA<num_of_iArr; iA++)
printf("%d\t",iSort[iA]);
printf("\n");

// del elem of array
getchar();
printf("\nsubject 4. del\n");
printf("string:%s\n",dst);
printf("del ? character from above string:");
scanf("%c",&cA);
printf("string after deleting %c:%s\n",cA,del_char(dst,cA));

return 0;
}

⑷ C語言編程題目 指針

C程序如下:
#include
"stdio.h"
#include<string>
#include<iostream>
using
namespace
std;
main()
{
string
Cons="12345678";
string
input;
const
char
*B=Cons.data();
const
char
*A;
cin>>input;
A=input.data();
int
lengthA=input.length();
int
lengthB=Cons.length();
for(int
i=0;i<lengthB;i++)
{
if(B[i]>A[i])
{
printf("輸入碰嘩的數小於原數");break;}
if(B[i]<A[i])
{
printf("輸入的數大於原數");break;}
}
if(lengthA>lengthB&&lengthB==i)
printf("輸入的數大於原數");
if(lengthA==lengthB&&lengthB==i)
printf("輸入的數等於告吵察原數");
}
如果你說的是比較字元串大小就是這個程序了
進入後開始輸入你要輸入的字元串襪茄

⑸ C語言指針編程題,求大神解答

#include "stdio.h"

void fun(int a[][6],int n,int m,int *odd,int *even)

{int i,j;

*odd=*even=0;

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

for(j=0; j<m; j++)

a[i][j]%2?*odd+=a[i][j]:*even+=a[i][j];

}

int main()

{ int n,m,i,j,a[5][6],odd,even;

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

{ for(j=0; j<6; j++)

{ a[i][j]=i*6+j+1;

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

}

printf(" ");

}

fun(a,5,6,&odd,&even);

printf("奇數之和=%d 偶數之和=%d ",odd,even);

return 0;

}

⑹ c語言 指針部分編程題

完整程序如下:
#include <stdlib.h>
main(){
int a,b,c;
int *p1,*p2,*p3;
printf("please input 3 int data\滑吵n");
scanf("%d %d %d",&a,&b,&c);
p1= &a;
if (b > *p1)p1= &b;
if (c > *p1)p1= &c;
p3= &a;
if (b< *p3) p3= &b;
if (c< *p3) p3= &c;
p2= &a;
if ( p2==p1 || p2==p3) p2= &b;
if ( p2==p3 || p2==p3) p2= &c;薯讓蠢
printf("%d %d %d\數陪n",*p1,*p2,*p3);
return 0;
}

⑺ C語言指針一道簡單的編程題

按照你的要求編寫的C語言程序如下

include<stdio.h>
intmain()
{
inta,b;
int*p=&a;
a=30;
printf("a=%d ",*p);
p=&b;
scanf("%d",p);
a=*p+24;
printf("a=%d,b=%d",a,b);
return0;
}

運行結果
a=30
76
a=100,b=76

⑻ C語言指針編程題,求助大佬

#include <stdio.h>

#include <string.h>

#define MAXS 100

char *str_cat( char *s, char *t );

int main()

{

char *p;

char str1[MAXS+MAXS] = {''}, str2[MAXS] = {''};

scanf("%s%s", str1, str2);

printf("%s ",str1);

p = str_cat(str1, str2);

printf("%s %s ", str2, p);

return 0;

}

char *str_cat (char *str1, char *str2) {

char *p=str1;

while(*(p++));

p--;

while(*str2)*(p++)=*(str2++);

*p=*str2;

return str1;

}

⑼ c語言指針編程題求解。

#include "stdio.h"

void Sum(int (*p)[3],int total[],int n)//n是總行數

{

int i,j;

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

{

for (j=0;j<3;j++)

{

total[i]=total[i]+*(*(p+i)+j);

}

}

}

int main()

{

int a[2][3]={};

int total[2]={0,0};

int i,j;

printf("輸入數組a: ");

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

{

for (j=0;j<3;j++)

{

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

}

}

Sum(a,total,2);

printf("各行的和: ");

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

printf("%d ",*(total+i));

return 0;

}

⑽ C語言 數組和指針編程題

// ConsoleApplication3.cpp : 定義控制台應用程序的入口點。

#include "stdafx.h"
void upCopy(char* new1, char* old)
{
while (*old)
{
if (65<=*old && *old<= 90) *new1++=*old;
old++;
}
*new1=0;
}

int main()
{
char s1[140]; //="";
char s0[]="foiwABEifjCDB";
upCopy(s1, s0);
printf("(%s%s",s1,")");
getchar();
return 0;
}