當前位置:首頁 » 編程語言 » c語言指針編程練習

c語言指針編程練習

發布時間: 2022-07-01 04:27:27

『壹』 c語言編程指針數組練習

#include<stdio.h>
#include<string.h>
#include<alloc.h>
#define MAXSIZE 20

typedef struct node{
char data;
struct node *next;
}StackNode;

typedef struct
{
struct node *top;
}LinkStack;
void Init_LS(LinkStack *ls) /*置空鏈棧 */
{ ls->top=NULL; }
int Empty_LS(LinkStack *ls) /*判棧空 */
{ return ls->top==NULL; }
void Push_LS(LinkStack *ls, char x) /*入棧 */
{ StackNode *p=(StackNode *)malloc(sizeof(StackNode));
p->data=x;
p->next=ls->top; /* 將元素x插入鏈棧頂 */
ls->top=p ;
}
int Pop_LS(LinkStack *ls, char *y) /* 出棧*/
{ StackNode *p;
if (Empty_LS(ls))
{ printf ("下溢!") ;
return 0;
}
else { *y=ls->top->data ;
p=ls->top ;
ls->top=p->next;
free (p) ;
return 1 ;
}
}
int GetTop(LinkStack *ls, char *y) /*取棧頂元素 */
{ if( Empty_LS(ls) )
{ printf ("下溢!") ;
return 0;
}
else {
*y=ls->top->data;
return 1 ;
}
}
#define ARRAYSIZE 20
void main()
{
int i=0,j=0;
StackNode *pp;
char m=' ';
char a[ARRAYSIZE],ch;
LinkStack *s;
LinkStack *top;
Init_LS(s);
printf("請輸入一個字元串:\n");
while(m!='.') /*輸入字元串,並過濾標點符號*/
{m=getchar();
if(m>='0' && m<='9' ||m>='A' && m<='Z' ||m>='a' && m<='z')
{a[i]=m;i++;}
}
for(j=0;j<i/2;++j) /* 字元串的前一半入棧*/
{
Push_LS(s,a[j]);
}
for(j=i-i/2;j<i;++j) /*出棧,與後一半字元串比較*/
{
Pop_LS(s,&ch);
if(ch!=a[j])
break;
}
if(!Empty_LS(s))
printf("否\n" );
else
printf("是\n" );
}

『貳』 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<stdio.h>
void
main()
{
char
str1[10],str2[10],*p;
int
i;
p=str1;
for(i=0;i<9;i++)
scanf("%c",&str1[i]);
str1[i]=
'\0';////該在str1[i]最後加一個'\0'要下面的結束for(i=0;*p;i++,p++)
就找不到結束符,所以後面就有亂碼「燙燙」
for(i=0;*p;i++,p++)///你可以用i<10來直接截取字元的前十位是可以的但是只是截取,其實真是的str2仍然後面有亂碼
str2[i]=*p;
str2[i]='\0';
printf("%s\n",str2);
}

『伍』 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語言指針簡單的編程題

intmain()
{
doublea[20];
doubleresult=0.0;
inti=0;
doublefact=3.2;
doubleval=1.5;

double*ptrDouble=&a[0];
//輸出所有數組值
for(i=0;i<20;i++)
{
*(ptrDouble+i)=i*fact+val;
printf("%f",*(ptrDouble+i));
}
ptrDouble=&a[10];

//輸出後是個值
for(i=0;i<10;i++)
{
result=result+*(ptrDouble+i);
}
printf("%f",result);

};

『柒』 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;
}

『捌』 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語言指針編程題

int main()
{
double a[20];
double result = 0.0;
int i = 0;
double fact = 3.2;
double val = 1.5;

double *ptrDouble = &a[0];
//輸出所有數組值
for (i = 0; i<20;i++)
{
*(ptrDouble + i) = i*fact+val;
printf("%f ",*(ptrDouble + i));
}
ptrDouble = &a[10];

//輸出後是個值
for (i = 0; i<10;i++)
{
result = result + *(ptrDouble+i);
}
printf("%f",result);

};

『拾』 c語言 指針部分編程題

#include<stdio.h>

#include<stdlib.h>


intswap(int*a,int*b)

{

inttemp;

temp=*a;*a=*b;*b=temp;

return0;

}


intmain()

{

int*p1=malloc(sizeof(int));

int*p2=malloc(sizeof(int));

int*p3=malloc(sizeof(int));


scanf("%d%d%d",p1,p2,p3);

if(*p1<*p2){

swap(p1,p2);

if(*p1<*p3){

swap(p1,p3);

if(*p2<*p3)

swap(p2,p3);

}else{

if(*p2<*p3)

swap(p2,p3);

}

}else{

if(*p1<*p3){

swap(p1,p3);

if(*p2<*p3)

swap(p2,p3);

}else{

if(*p2<*p3)

swap(p2,p3);

}

}

printf("%d%d%d",*p1,*p2,*p3);


return0;

}

運行結果

熱點內容
cad解壓錯誤 發布:2024-03-29 15:01:45 瀏覽:78
存儲指令集 發布:2024-03-29 14:39:27 瀏覽:649
資料庫表刪除數據 發布:2024-03-29 14:39:26 瀏覽:367
出c語言整除 發布:2024-03-29 14:28:22 瀏覽:572
芬尼壓縮機 發布:2024-03-29 14:24:11 瀏覽:464
電腦數據實時上傳本地伺服器軟體 發布:2024-03-29 14:07:57 瀏覽:920
尋秦記源碼 發布:2024-03-29 13:56:17 瀏覽:496
linux的備份命令 發布:2024-03-29 13:41:22 瀏覽:383
csgo建議什麼配置 發布:2024-03-29 13:31:44 瀏覽:980
電腦ftp服務如何禁用 發布:2024-03-29 13:24:48 瀏覽:332