国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C語(yǔ)言刷題(1)----指針數(shù)組

這篇具有很好參考價(jià)值的文章主要介紹了C語(yǔ)言刷題(1)----指針數(shù)組。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

下面指針選題來(lái)源于教材、??途W(wǎng)。

1.鍵盤(pán)輸入一個(gè)字符串,編寫(xiě)代碼獲取字符串的長(zhǎng)度并輸出,要求使用字符指針實(shí)現(xiàn)。
示例:
輸入:
helloworld
返回值:
10

代碼實(shí)現(xiàn)

#include<stdio.h>
int main (void)
{
	char str[128]={0};//給字符串?dāng)?shù)組初始化為一個(gè)空字符串
	char *p=str;int i;
	printf("請(qǐng)輸入一個(gè)字符串:\n");
	gets(str);//將從鍵盤(pán)輸入的字符串存入到str;
	for (i=1;*p!=0;i++)
		p++;
	printf("%d",i-1);
	return 0;
}
在這個(gè)題目中,循環(huán)是一個(gè)關(guān)鍵??赡軐?xiě)成while循環(huán)更好理解。當(dāng)p所指向的地址的內(nèi)容不為空,即*p!=0時(shí),這時(shí)計(jì)數(shù)器計(jì)一個(gè)數(shù),然后指針移動(dòng)到字符串?dāng)?shù)組的下一個(gè)元素。
#include<stdio.h>
int main (void)
{
	char str[128]={0};//給字符串?dāng)?shù)組初始化為一個(gè)空字符串
	char *p=str;int i=0; //此時(shí)注意i初始化為0
	printf("請(qǐng)輸入一個(gè)字符串:\n");
	gets(str);//將從鍵盤(pán)輸入的字符串存入到str;
	while(*p!=0)
	{
		i+=1;
		p++
	}
	printf("%d",i-1);
	return 0;
}

鍵盤(pán)輸入一個(gè)長(zhǎng)度為len的字符串(1=<len<30),再輸入一個(gè)正整數(shù)m(1=<m<=30),將此字符串中從第m個(gè)字符開(kāi)始的剩余全部字符復(fù)制成為另一個(gè)字符串,并將這個(gè)新字符串輸出。要求用指針處理字符串。
示例:
輸入:
helloworld
返回值:
world

代碼實(shí)現(xiàn)

#include <stdio.h>
int main (void)
{
	char str[30]={0};//將str初始化為一個(gè)空字符串
	char *p;
	int m;
	printf("請(qǐng)輸入一個(gè)字符串:\n");
	gets(str);
	printf("請(qǐng)輸入一個(gè)正整數(shù):\n");
	scanf("%d",&m);
	p=str+m-1;//第m個(gè)字符,它是第[m-1](編號(hào))個(gè)元素,地址是首地址+編號(hào),即str+m-1
	while(*p!=0)
	{
		printf("%c",*p);//依次對(duì)第m個(gè)元素之后進(jìn)行輸出
		p++;
	}
	printf("\n");
	return 0;
}

編寫(xiě)一個(gè)函數(shù),實(shí)現(xiàn)兩個(gè)整數(shù)的互換,要求采用指針的方式實(shí)現(xiàn)。
示例:
輸入:
2
3
返回值:
3 2

#include <stdio.h>
void swap(int *p,int *q);
int main (void)
{
	int a,b,*p=&a,*q=&b;
	scanf("%d%d",&a,&b);
	swap(p,q);
	printf("a=%d,b=%d",a,b);
	return 0;
}
void swap(int *p,int *q)//函數(shù)功能實(shí)現(xiàn)兩個(gè)數(shù)的交換
{
	int t;
	t=*p;
	*p=*q;
	*q=t;
}
實(shí)現(xiàn)兩個(gè)數(shù)的互換,不能通過(guò)return返回值實(shí)現(xiàn)。因?yàn)橥ㄟ^(guò)函數(shù)return,只能得到一個(gè)返回值。 兩個(gè)數(shù)互換,實(shí)際上就是對(duì)兩個(gè)變量重新賦值,只不過(guò)賦的值是特殊的(另一個(gè)數(shù))。
若想通過(guò)被調(diào)函數(shù)改變主調(diào)函數(shù)中變量的值,就使用指針做函數(shù)形參,把主調(diào)函數(shù)中要改變的變量的地址傳遞給指針,在被調(diào)函數(shù)中改變形參指針?biāo)赶虻淖兞康闹怠?/td>
```c #include

鍵盤(pán)隨機(jī)輸入6個(gè)整數(shù),將這些數(shù)據(jù)保存到數(shù)組中,利用指針遍歷數(shù)組中的元素并打印。
示例:
10
20
30
40
50
60
返回值:
10 20 30 40 50 60

代碼實(shí)現(xiàn)

#include <stdio.h>
int main (void)
{
	int a[6]={0},i;\\給數(shù)組完成初始化
	int *p=a;\\數(shù)組名即數(shù)組首元素的地址
	printf("Please input 6 integer numbers:\n");
	for (i=0;i<6;i++)
		scanf("%d",&*(p+i));\\給數(shù)組元素賦值
	for (i=0;i<6;i++)
		printf("%d\t",*(p+i));\\依次輸出
	return 0;
}
我的一些改進(jìn): 關(guān)于數(shù)組元素的賦值 scanf是輸入,它的參數(shù)應(yīng)該是一個(gè)指針即地址,表示把輸入的值存放在改地址中。
	for (i=0;i<6;i++)
	{
		scanf("%d",p);   \\給數(shù)組元素賦值
		p++;	
	}

C語(yǔ)言刷題(1)----指針數(shù)組

#include<stdio.h>
int cal(int n,int*p);
int main(void)
{
    int n,a[50]={0},sum=0,i;\\定義數(shù)組,保證數(shù)組的長(zhǎng)度。\\并將數(shù)組元素全部初始化為0
    scanf("%d",&n);
    for (i=0;i<n;i++)\\對(duì)數(shù)組元素進(jìn)行重新賦值
    scanf("%d",&a[i]);
    for (i=0;i<n;i++)\\將數(shù)組中的重新賦過(guò)值的元素依次加到sum中
    sum+=a[i];
    printf("%d",sum);
    return 0;

}
這個(gè)題目中,不知道數(shù)組具體的長(zhǎng)度(不必過(guò)度糾結(jié)),可以將數(shù)組的長(zhǎng)度設(shè)置的適當(dāng),保證數(shù)據(jù)不會(huì)溢出即可。
C語(yǔ)言刷題(1)----指針數(shù)組

代碼實(shí)現(xiàn)

#include<stdio.h>
int main (void)
{
	int a[50]={0},n,x,i,k=0;
	printf("請(qǐng)輸入一個(gè)整數(shù)\n");
	scanf("%d",&n);
	printf("請(qǐng)輸入這%d個(gè)數(shù):\n",n);
	for (i=0;i<n;i++)
		scanf("%d",&a[i]);
	printf("請(qǐng)輸入要?jiǎng)h除的整數(shù):\n");
	scanf("%d",&x);
	for (i=0;i<n;i++)
		if (a[i]!=x)
		{
			a[k]=a[i];
			k++;
		}
	for (i=0;i<k;i++)
		printf("%d\t",a[i]); 
	return 0;
}

對(duì)于這個(gè)刪除指定數(shù)字后再輸出數(shù)組序列的題目,剛開(kāi)始接觸理解這個(gè)題目時(shí),我的想法是再建立一個(gè)和a相同長(zhǎng)度的數(shù)組b,然利用循環(huán)對(duì)數(shù)組a中的每一個(gè)元素(i=0 to n)進(jìn)行遍歷,若不是要?jiǎng)h除的元素,則將這個(gè)元素移到數(shù)組b中,數(shù)組b的下標(biāo)從0開(kāi)始,依次被賦值(直到k),然后將數(shù)組b中的元素打印出來(lái)。
聽(tīng)過(guò)老師的講解,這個(gè)數(shù)組b也可以是它自己,節(jié)省內(nèi)存空間。即對(duì)數(shù)組a再重新對(duì)它賦值。
C語(yǔ)言刷題(1)----指針數(shù)組
#include<stdio.h>
int main (void)
{
	int n,a[50]={0},x,i,index;
	printf("請(qǐng)輸入一個(gè)整數(shù)n:\n");
	scanf("%d",&n);
	printf("請(qǐng)輸入%d個(gè)整數(shù):\n",n);
	for (i=0;i<n;i++)
	scanf("%d",&a[i]);
	printf("請(qǐng)輸入一個(gè)想插入的整數(shù):\n");
	scanf("%d",&x);
	if (x<a[0] ||x==a[0])
	{
		a[0]=x;
		for (i=1;i<=n;i++)
			a[i]=a[i-1];
	}
	else if (x>a[n-1] || x==a[n-1])
	{
		a[n]=x;
	}
	else
		for (i=0;i<n;i++)
			if (x>=a[i] && x<a[i+1])
			{
				a[i+1]=x;
				index=i+1;
				for (i=n;i>index;i--)
					a[i]=a[i-1];
			}
	for (i=0;i<=n;i++)
		printf("%d",a[i]);
	return 0;
}

輸入10個(gè)數(shù),將第一個(gè)元素和最后一個(gè)元素交換,第二個(gè)元素與倒數(shù)第二個(gè)元素交換……文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-435744.html

#include <stdio.h>
void swap(int *p,int *q);
int main (void)
{
	int a[10],*p,*head,*end;
	for (p=a;p<=a+9;p++)
		scanf("%d",p); //利用指針對(duì)數(shù)組中的每一個(gè)元素賦初值
	head=a;end=a+9;
	while(end>head)
	{
		swap(head,end);
		head--;
		end++;
	}
	for (p=a;p<a+10;p++)
		printf("%d",*p);
	return 0;
}
void swap(int *p,int *q)//函數(shù)功能實(shí)現(xiàn)兩個(gè)數(shù)的交換
{
	int t;
	t=*p;
	*p=*q;
	*q=t;
}

到了這里,關(guān)于C語(yǔ)言刷題(1)----指針數(shù)組的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【C語(yǔ)言】數(shù)組和指針?biāo)㈩}練習(xí)

    【C語(yǔ)言】數(shù)組和指針?biāo)㈩}練習(xí)

    指針和數(shù)組我們已經(jīng)學(xué)習(xí)的差不多了,今天就為大家分享一些指針和數(shù)組的常見(jiàn)練習(xí)題,還包含許多經(jīng)典面試題哦! 一、求數(shù)組長(zhǎng)度和大小 普通一維數(shù)組 字符數(shù)組 字符串?dāng)?shù)組 指向字符串的字符指針 二維數(shù)組 總節(jié): 數(shù)組名的意義: sizeof(數(shù)組名),這里的數(shù)組名表示整個(gè)數(shù)

    2024年02月07日
    瀏覽(24)
  • LeetCode刷題系列之《雙指針解數(shù)組》

    LeetCode刷題系列之《雙指針解數(shù)組》

    各位csdn的友友們好啊,今天阿博給大家分享幾道leetcode上的經(jīng)典數(shù)組題,通過(guò)這次的學(xué)習(xí),相信友友們可以更全面的認(rèn)識(shí)指針和數(shù)組?????? 一.題目描述 給你一個(gè) 升序排列 的數(shù)組 nums ,請(qǐng)你 原地 刪除重復(fù)出現(xiàn)的元素,使每個(gè)元素 只出現(xiàn)一次 ,返回刪除后數(shù)組的新長(zhǎng)度。

    2023年04月26日
    瀏覽(100)
  • 【劍指offer刷題記錄 java版】數(shù)組雙指針 之 其它題目

    【劍指offer刷題記錄 java版】數(shù)組雙指針 之 其它題目

    本系列文章記錄labuladong的算法小抄中劍指offer題目 題目鏈接:https://leetcode.cn/problems/XltzEq/ 題目鏈接:https://leetcode.cn/problems/fan-zhuan-dan-ci-shun-xu-lcof/ 題目鏈接:https://leetcode.cn/problems/diao-zheng-shu-zu-shun-xu-shi-qi-shu-wei-yu-ou-shu-qian-mian-lcof/ 題目鏈接:https://leetcode.cn/problems/he-wei-sde-

    2024年02月11日
    瀏覽(22)
  • 【劍指offer刷題記錄 java版】數(shù)組雙指針 之 滑動(dòng)窗口

    【劍指offer刷題記錄 java版】數(shù)組雙指針 之 滑動(dòng)窗口

    本系列文章記錄labuladong的算法小抄中劍指offer題目 題目鏈接:https://leetcode.cn/problems/zui-chang-bu-han-zhong-fu-zi-fu-de-zi-zi-fu-chuan-lcof/ 題目鏈接:https://leetcode.cn/problems/MPnaiL/ 題目鏈接:https://leetcode.cn/problems/VabMRr/ 題目鏈接:https://leetcode.cn/problems/wtcaE1/ 題目鏈接:https://leetcode.cn/pr

    2024年02月09日
    瀏覽(27)
  • 算法刷題營(yíng)【Day2】:: 雙指針?biāo)惴☉?yīng)用:滑動(dòng)窗口 :209. 長(zhǎng)度最小的子數(shù)組

    算法刷題營(yíng)【Day2】:: 雙指針?biāo)惴☉?yīng)用:滑動(dòng)窗口 :209. 長(zhǎng)度最小的子數(shù)組

    本內(nèi)容是筆者結(jié)合《代碼隨想錄》總結(jié)所得,記錄學(xué)習(xí)過(guò)程,分享知識(shí)! 目錄: 1. 開(kāi)篇例題:209. 長(zhǎng)度最小的子數(shù)組 2. 題解參考 - - 2.1 方法一:暴力法 - - 2.2 方法二:滑動(dòng)窗口 3. 方法思路點(diǎn)撥:滑動(dòng)窗口 - - 3.1 直白解釋 - - 3.2 本題思路點(diǎn)撥 4. 相關(guān)題集 1. 開(kāi)篇例題:209. 長(zhǎng)度

    2024年02月04日
    瀏覽(32)
  • 【C語(yǔ)言進(jìn)階】指針數(shù)組 —— 數(shù)組指針

    【C語(yǔ)言進(jìn)階】指針數(shù)組 —— 數(shù)組指針

    ?? 鴿芷咕 : 個(gè)人主頁(yè) ??? 個(gè)人專欄 : 《C語(yǔ)言進(jìn)階篇》 《C語(yǔ)言初階篇》 ??生活的理想,就是為了理想的生活! ?? ?? hello! 各位寶子們大家好啊,前面我們已經(jīng)把指針大部分內(nèi)容給學(xué)完了,今天就給大家?guī)?lái)數(shù)組指針or指針數(shù)組! ?? ?? 很多說(shuō)這倆名字不是差不

    2024年02月14日
    瀏覽(19)
  • C語(yǔ)言 ——指針數(shù)組與數(shù)組指針

    C語(yǔ)言 ——指針數(shù)組與數(shù)組指針

    目錄 一、二維數(shù)組 二、指針數(shù)組 (1)概念 ?(2)書(shū)寫(xiě)方式 (3)指針數(shù)組模擬二維數(shù)組 三、數(shù)組指針 (1)概念 (2)使用數(shù)組指針打印一維數(shù)組 ?(3)模擬二維數(shù)組的傳參 首先,我們要理解一下二維數(shù)組和指針變量之間的一些相關(guān)概念。 二維數(shù)組 : int arr [ 3 ][ 5 ]??

    2024年02月13日
    瀏覽(27)
  • C語(yǔ)言--指針詳解(下)--字符指針、數(shù)組指針、指針數(shù)組、函數(shù)指針、函數(shù)指針數(shù)組(轉(zhuǎn)移表)

    C語(yǔ)言--指針詳解(下)--字符指針、數(shù)組指針、指針數(shù)組、函數(shù)指針、函數(shù)指針數(shù)組(轉(zhuǎn)移表)

    在C語(yǔ)言中有一種指針類型為字符指針 char*,常用其來(lái)表示字符,使用如下: 除了上述用法之外,還可以有以下的用法: 在上面的代碼中,字符 \\\" hello word \\\"是常量字符串,將\\\"hello word\\\"放入 pstr 指針的實(shí)質(zhì)是將第一個(gè)字符 “ h \\\" 的地址傳遞給了 pstr ,通過(guò)首字符 ” h \\\" 就可以訪問(wèn)

    2024年02月03日
    瀏覽(28)
  • 【go語(yǔ)言基礎(chǔ)】指針數(shù)組和數(shù)組指針

    (1)指針數(shù)組: 存儲(chǔ)指針的數(shù)組,也叫存儲(chǔ)地址的數(shù)組,簡(jiǎn)單說(shuō)就是存儲(chǔ)地址的。 首先它是一個(gè)數(shù)組,數(shù)組中的元素都是指針(地址)。 (2)數(shù)組指針: 首先它是一個(gè)指針,存儲(chǔ)的是指向數(shù)組的指針。 (1)指針數(shù)組 定義: 注意:首先是一個(gè)數(shù)組,將數(shù)組中的元素定義為

    2024年02月13日
    瀏覽(28)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包