欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOCX文档下载  

    C数组指针题含答案.docx

    • 资源ID:13559487       资源大小:67.67KB        全文页数:40页
    • 资源格式: DOCX        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C数组指针题含答案.docx

    数组指针 01:逆序输出从键盘输入n个整数(n<100),存放在一个一维数组中,逆序输出能被3整除的元素,并逆序输出数组下标为 3 的倍数的元素。输入格式:第一个整数为个数 n,后续为n个整数输出格式:第一行能被3 整除的元素,第二行为下标为3 的倍数的元素,各个数值之间用空格分隔。输入: 10 2 7 9 10 5 4 3 6 8 20输出:6 3 920 3 10 2#include <iostream>using namespace std;const int MAX=100;int main()int aMAX,n,i;cin>>n;输入: 10 2 7 9 10 5 4 3 6 8 20cin>>ai;for(i=n-1;i>=0;i-)if(ai%3=0)cout<<ai<<" "cout<<endl;for(i=n-1;i>=0;i-)if(i%3=0)cout<<ai<<" "cout<<endl;return 0;数组指针02:逆序存储从键盘输入n (n<100)个整数,存放在一个一维数组 a中,将它们逆序存放在另个整型数组 b 中,并按 b 数组中下标从小到大的顺序输出下标为 3 的倍数的数组元素。输入格式:第一个数为数组中元素个数n,之后为n个元素。输出格式:下标为 3 的倍数的元素,各个数值之间用空格分隔。输出: 20 3 10 2#include <iostream>using namespace std;const int MAX=100;int main()int aMAX,bMAX,n,i;cin>>n;for(i=0;i<n;i+)cin>>ai;bn-1-i=ai;for(i=0;i<n;i+)if(i%3=0)cout<<bi<<" "cout<<endl;return 0;数组指针03:平均值从键盘输入任意个整数 (以 0 结束, 假设不超过100 个) , 存放在一个一维数组中,计算这组数的平均值(实型)。输入: 15 2 7 9 10 5 4 3 6 8 20 0输出: 8.09091#include <iostream>using namespace std;const int MAX=100;int main()int aMAX,n=0;double s=0;cin>>an;while(an)s+=an;n+;cin>>an;cout<<s/n<<endl;return 0;数组指针 04:最大值从键盘输入任意个整数(以 0 结束,个数不超过100),存放在一个一维数组中,输出这组数的最大值。输入: 10 2 7 9 11 5 4 3 6 8 20 0输出: 20#include<iostream>using namespace std;const int MAX=100;int main()数组指针05:最小值的位置int aMAX,i,n=0,max;cin>>an;while(an)(n+;cin>>an;max=a0;for(i=1;i<n;i+)(if(ai>max)max=ai;cout<<max<<endl;return 0;从键盘输入任意个整数(以 0 结束,个数不超过100),存放在一个一维数组中,数据从数组的 0 下标开始存储,输出这组数的最小值所在数组下标。输入: 10 2 7 9 11 5 4 3 6 8 20 0输出: 1#include<iostream>using namespace std;const int MAX=100;int main()int aMAX,i,n=0,min=0;cin>>an;while(an)n+;cin>>an;for(i=1;i<n;i+)if(ai<amin)min=i;cout<<min<<endl;return 0;数组指针 06:排序从键盘输入任意个整数 (以 0 结束,假设个数最大不超过100) ,将这些数存放在一个一维数组中,将它们从小到大排序后输出。输入: 15 2 7 9 11 5 4 3 6 8 20 0输出: 2 3 4 5 6 7 8 9 11 15 20#include<iostream>using namespace std;const int MAX=100;int main()(int aMAX,i,j,n=0,mini,temp;cin>>an;while(an)(n+;cin>>an;for(i=0;i<n-1;i+)(mini=i;for (j=i+1;j<n;j+)if (aj<amini) mini=j;if (mini!=i)(temp=ai;ai=amini;amini=temp;for(i=0;i<n;i+)cout<<ai<<" "cout<<endl;return 0;数组指针07:中位数从键盘输入n(n<100)个整数(以0结束),存放在一个一维数组中,输出其中位数。说明:中位数( Medians )统计学名词,是指将数据按从小到大顺序排列起来,形成一个数列,居于数列中间位置的那个数据。若数列元素个数为奇数,则中位数为最中间的元素;若数列元素个数为偶数,则中位数为最中间两个元素的平均数。例如:输入 2 7 911 5 4 3 6 8 20 0 则排序后结果为 2 3 4 5 6 7 8 9 11 20, 则中间两个数的平均值为输入: 2 7 9 11 5 4 3 6 8 20 0输出: 6.5#include<iostream>using namespace std;const int MAX=100;int main()int aMAX,i,j,n=0,mini,temp;cin>>an;while(an)n+;cin>>an;for(i=0;i<n-1;i+)mini=i;for (j=i+1;j<n;j+)if (aj<amini) mini=j;if (mini!=i)(temp=ai;ai=amini;amini=temp;)if(n%2=1)cout<<an/2<<endl;elsecout<<(an/2+an/2-1)/2.0<<endl;cout<<endl;return 0;)数组指针08:排序从键盘输入n(n<100)个整数(以0结束),存放在一个一维数组中,将它们按奇数在前、偶数在后,同为奇数或偶数的按从小到大的顺序排序,并输出排序后的结果。其中:排序过程用函数实现。输入: 10 2 7 9 11 5 4 3 6 8 20 0输出: 3 5 7 9 11 2 4 6 8 10 20#include<iostream>using namespace std;void sort(int s,int n)int i,j,t;for(i=0;i<n-1;i+)for(j=i+1;j<n;j+)if(si%2)<(sj%2)|(si%2)=(sj%2)&&(si>sj)t=si;si=sj;sj=t;int main()int s100,n=0,i;cin>>sn;while(sn)n+;cin>>sn;sort(s,n);for(i=0;i<n;i+)cout<<si<<' 'return 0;数组指针09:斐波那契数列输入一个正整数n (n<100),将斐波那契数列的前n项保存到一维数组中,并输出斐波那契数列中对 3 取余为 2 的数。斐波那契数列为1 1 2 3 5 8 13 21 34 55输入:10输出:2 5 8#include<iostream>using namespace std;const int MAX=100;int main()int aMAX,n,i;cin>>n;a0=a1=1;for(i=2;i<n;i+)ai=ai-1+ai-2;for(i=0;i<n;i+)if(ai%3=2)cout<<ai<<" "cout<<endl;return 0;数组指针 10:素数输入m n (mi n<100),输出m,n之间的素数。要求:使用塞选法求素数。用塞选法求100 以内的素数过程:在一张纸上写上1 到 100全部整数,然后逐个判断它们是否是素数,找出一个非素数,就把它挖掉,最后剩下的就是素数。具体做法如下:< 1> 先将 1 挖掉 ( 因为 1 不是素数 ) 。< 2> 用 2 去除它后面的各个数( 2 除外), 把能被 2 整除的数挖掉,即把2 的倍数挖 掉。< 3> 用 3 去除它后面的各数( 3 除外),把3 的倍数挖掉。<4>分别用4、5各数作为除数去除这些数以后的各数。这个过程一直进行到在除数后面的数已全被挖掉为止。最后剩下的都是素数。输入:5 19输出:5 7 11 13 17 19#include<iostream>using namespace std;int main()int m,n,a101,i,j;for(i=1;i<101;i+)ai=i;cin>>m>>n;for(i=2;i<101;i+)for(j=i+1;j<101;j+)if(aj%i=0)aj=0;for(i=m;i<=n;i+)if(ai!=0)cout<<ai<<" "return 0;数组指针 11:数据插入从键盘输入n (n<100)个整数(以0结束),存放在一个一维数组中,在输入一个 插入位置pos (0<=pos<=n)及被插入的数值x,将x插入到下标为pos的位置。输出插 入后数组中的所有元素。输入:10 2 7 9 11 5 4 3 6 8 20 08 100输出: 10 2 7 9 11 5 4 3 100 6 8 20#include<iostream>using namespace std;const int MAX=100;int main()int aMAX,i,pos,x,n=0;cin>>an;while(an)n+;cin>>an;cin>>pos>>x;for(i=n-1;i>=pos;i-)ai+1=ai;apos=x;n+;for(i=0;i<n;i+)cout<<ai<<" "cout<<endl;数组指针12:有序插入从键盘输入n个整数(n<100),存放在一个一维数组中,将它们从大到小排序,再从键盘输入一个整数x , 将该数插入到该数组中, 使得插入后依然为降序, 输出插入后数组中的所有元素。其中将整数x 插入到数组中使其依然有序用函数完成。输入格式:第一个为个数n,后续为n个整数,再输入一个整数x。输入:10 2 7 9 11 5 4 3 6 8 2012输出: 20 12 11 9 8 7 6 5 4 3 2#include<iostream>using namespace std;const int MAX=100;void sort(int a,int n)int i,j,t;for(i=0;i<n-1;i+)for(j=i+1;j<n;j+)if(ai<aj)t=ai;ai=aj;aj=t;void insert(int a,int &n,int x)int i;for(i=n-1;i>=0&&ai<x;i-)ai+1=ai;ai+1=x;n+;)int main()(int aMAX,i,x,n;cin>>n;for(i=0;i<n;i+) cin>>ai;sort(a,n);cin>>x;insert(a,n,x);for(i=0;i<n;i+) cout<<ai<<" " cout<<endl;return 0;数组指针 13:删除从键盘输入任意个整数(以 0 结束),假设整数个数为 n(n<100) ,则这些数据存放在一个一维数组 0n-1 下标中,假设元素所在位置依次为 0n-1 ,再输入一个删除位置pos( 0<=pos<n) , 将 pos 位置的元素从数组中删除, 若 pos 位置不合法, 则不删除元素。输出删除后数组中的所有元素。输入:10 2 7 9 11 5 4 3 6 8 20 08输出: 10 2 7 9 11 5 4 3 8 20#include <iostream>using namespace std;const int MAX=100;int main()int aMAX,n=0,pos,i;cin>>an;while(an)n+;cin>>an;)cin>>pos;if(pos>=0&&pos<n)for(i=pos+1;i<n;i+)ai-1=ai;n-;)for(i=0;i<n;i+)cout<<ai<<""return 0;数组指针14:删除元素从键盘输入n(n<100)个整数(以0结束),存放在一个一维数组从 0n-1下标中,再输入要删除的元素x ,将数组中所有的x 全部删除。输出删除后数组中的所有元素。输入:10 2 7 9 5 11 5 4 3 6 5 8 20 05输出: 10 2 7 9 11 4 3 6 8 20#include<iostream>using namespace std;const int MAX=100;int main()int aMAX,n=0,i,j,x;cin>>an;while(an)n+;cin>>an;数组指针15:矩阵cin>>x;j=0;for(i=0;i<n;i+)(if(ai!=x)(aj=ai;j+;)n=j;for(i=0;i<n;i+) cout<<ai<<"" cout<<endl;return 0;输入 3 行 4 列的矩阵存储在一个二维数组中,分别求出各行元素之和 , 并存入一维数组 row 中, 再输出 row 的值。输入:1 2 3 45 6 7 89 10 11 12输出: 10 26 42#include<iostream>using namespace std;int main()int a34,row3=0,i,j;for(i=0;i<3;i+)for(j=0;j<4;j+)cin>>aij;rowi+=aij;for(i=0;i<3;i+)cout<<rowi<<" "return 0;数组指针16:对角线元素之和输入一个5*5 的矩阵,求出两条对角线元素值之和。输入:11 12 13 14 4015 16 17 18 4119 10 11 12 4231 32 33 34 4351 52 53 54 55输出: 268#include<iostream>using namespace std;int main()int a55,s=0,i,j;for(i=0;i<5;i+)for(j=0;j<5;j+)cin>>aij;for(i=0;i<5;i+)s+=aii+ai4-i;s=s-a22;cout<<s<<endl;return 0;数组指针17:鞍点输入一个5*5 的矩阵,输出所有的鞍点。所谓鞍点是指一行中的最大值也是该列中的最小值。输入:11 12 13 14 4055 56 57 58 4119 10 11 12 4231 32 33 34 4351 52 53 54 55输出:40#include <iostream>using namespace std;int main()int a55,i,j,k,maxj,mini;for(i=0;i<5;i+)for(j=0;j<5;j+) cin>>aij;for(i=0;i<5;i+)maxj=0;for(j=1;j<5;j+)if(aij>aimaxj)maxj=j;for(k=0;k<5;k+)if(akmaxj<aimaxj)break;if(k=5)cout<<aimaxj<<endl;return 0;数组指针18:回文字符串从键盘输入n (n<100)个字符串(每个字符串长度不超过19),输出这组字符串中的回文字符串。其中判断一个字符串是否为回文字符串用函数实现。所谓回文串是指顺读和倒读都一样的一个字符串,如" level "、" abccba”都是回文用。输入格式:第一个为个数n,后续为n个字符串输入: 3 level abccba abbd输出: level abccba#include <iostream>#include<cstring> using namespace std;bool f(char s)int length,i;bool flag=false;length=strlen(s);for (i=0;i<length/2;i+)if (si!=slength-i-1) break;if (i=length/2)flag=true;return flag;int main()int n,i;char c20;cin>>n;for(i=1;i<=n;i+)cin>>c;if(f(c)cout<<c<<" "cout<<endl;return 0;数组指针 19:字符串转换int main()在主函数中输入一个字符串(长度不超过99),存储在一个字符数组中,将该字符串中的大写字母变成相应的小写字母,小写字母变成相应的大写字母,其他字符不变,输出转换后的字符串。其中将字符串转换用一个函数完成。输入:ILoveLiaoNing23输出:ilOVElIAOnING23#include<iostream>using namespace std;const int MAX=100;void Myconvert(char str)int i;for(i=0;stri;i+)if(stri>='a'&&stri<='z')stri-=32;elseif(stri>='A'&&stri<='Z')stri+=32;char s1MAX;cin>>s1;Myconvert(s1);cout<<s1<<endl;return 0;数组指针20:字符串长度输入n 个 (n<100) 字符串,输出所有字符串长度的平均值。其中求一个字符串的长度用自定义函数实现。输入格式,第一个整数n 为字符串个数,后续为 n 个字符串。输入:3 world hello C+输出:4.33333#include<iostream>using namespace std;const int MAX=100;int length(char * s)int i=0;while (si) i+;return i;int main( )char sMAX;int n,i;double sum=0;cin>>n;for (i=0;i<n;i+)cin>>s;sum+=length(s);cout«sum/n«endl;return 0;

    注意事项

    本文(C数组指针题含答案.docx)为本站会员(scccc)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开