c语言的相关程序关于数组一二维字符.docx

上传人:b****2 文档编号:2787913 上传时间:2023-05-04 格式:DOCX 页数:15 大小:17.88KB
下载 相关 举报
c语言的相关程序关于数组一二维字符.docx_第1页
第1页 / 共15页
c语言的相关程序关于数组一二维字符.docx_第2页
第2页 / 共15页
c语言的相关程序关于数组一二维字符.docx_第3页
第3页 / 共15页
c语言的相关程序关于数组一二维字符.docx_第4页
第4页 / 共15页
c语言的相关程序关于数组一二维字符.docx_第5页
第5页 / 共15页
c语言的相关程序关于数组一二维字符.docx_第6页
第6页 / 共15页
c语言的相关程序关于数组一二维字符.docx_第7页
第7页 / 共15页
c语言的相关程序关于数组一二维字符.docx_第8页
第8页 / 共15页
c语言的相关程序关于数组一二维字符.docx_第9页
第9页 / 共15页
c语言的相关程序关于数组一二维字符.docx_第10页
第10页 / 共15页
c语言的相关程序关于数组一二维字符.docx_第11页
第11页 / 共15页
c语言的相关程序关于数组一二维字符.docx_第12页
第12页 / 共15页
c语言的相关程序关于数组一二维字符.docx_第13页
第13页 / 共15页
c语言的相关程序关于数组一二维字符.docx_第14页
第14页 / 共15页
c语言的相关程序关于数组一二维字符.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

c语言的相关程序关于数组一二维字符.docx

《c语言的相关程序关于数组一二维字符.docx》由会员分享,可在线阅读,更多相关《c语言的相关程序关于数组一二维字符.docx(15页珍藏版)》请在冰点文库上搜索。

c语言的相关程序关于数组一二维字符.docx

c语言的相关程序关于数组一二维字符

一维数组、字符数组、二维数组编程

1.输入一个正整数n(1

#include

voidmain()

{inta[10],n,i,k,min;

//输入数据

scanf("%d",&n);

for(i=0;i

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

//找最小(最大)值及下标

min=a[0];k=0;

for(i=1;i

if(a[i]

//输出结果

printf("最小值=%d,下标=%d\n",min,k);

}

/*调试数据:

5

1012-21307

最小值=-21,下标=2

*/

实验9_2输入1个正整数n(1

#include

voidmain()

{inta[10],n,i,k,min,h,max,t;

//输入数据

scanf("%d",&n);

for(i=0;i

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

//找最小值及下标

min=a[0];k=0;

for(i=1;i

if(a[i]

//最小值与第1个数交换

t=a[0];a[0]=a[k];a[k]=t;

//找最大值及下标

max=a[0];h=0;

for(i=1;i

if(a[i]>max){max=a[i];h=i;}

//最大值与第n-1个数交换

t=a[n-1];a[n-1]=a[h];a[h]=t;

for(i=0;i

printf(“%d“,a[i]);

printf(“\n”);

}

/*调试数据:

10

54321109876

14325698710

*/

2.实验9_5改错,设a是一个整型数组,n和x都是整数,数组a中各元素的值互异。

在数组a的元素中查找与x相同的元素,如果找到输入该相同元素的标,如果找不到输出“找不到与x相同的元素”

#include

voidmain()

{inti,n,x,a[10];

printf("输入数组元素的个数n:

");

scanf("%d",&n);//5

printf("输入数组%d个元素:

",n);

for(i=0;i

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

printf("x=");

scanf("%d",&x);//5

for(i=0;i

if(a[i]==x)break;

if(i==n)

printf("找不到与%d相同的元素\n",x);

else

printf("和%d相同的数组元素是a[%d]=%d\n",x,i,a[i]);

}

 

3.习题7.5将一个数组中的值按逆序重新存放,例如,原来顺序为8、6、5、4、1,要改为1、4、5、6、8。

#include

voidmain()

{inta[6]={8,6,5,4,1};

inti,j,t;

for(i=0,j=4;i<5/2;i++,j--)

{t=a[i];

a[i]=a[j];

a[j]=t;

}

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

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

printf("\n");

}

4.习题7.4输入一个正整数n(1

#include

voidmain()

{inta[10];

inti,n,x;

scanf("%d",&n);

for(i=0;i

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

scanf("%d",&x);

for(i=n-1;i>=0;i--)

if(x

{a[i+1]=a[i];a[i]=x;}

else

{a[i+1]=x;break;}

for(i=0;i

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

printf("\n");

}

5.习题7.2用选择法对10个整数从小到大排序(先要输入这10个数),并输出。

#include

voidmain()

{inti,j,k,t;

inta[10];

//输入数据

printf("输入10个整数:

");

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

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

printf("排序前的数据:

\n");

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

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

printf("\n");

//选择法排序

for(i=0;i<(10-1);i++)

{k=i;

for(j=i+1;j<10;j++)

if(a[k]>a[j])k=j;

if(k!

=i)

{t=a[i];a[i]=a[k];a[k]=t;}

}

//输出结果

printf("排序后的数据:

\n");

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

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

printf("\n");

}

/*24791015386

12345678910

*/

//起泡法排序

for(i=0;i<(10-1);i++)

for(j=0;j<(10-1-i);j++)

if(a[j]>a[j+1])

{t=a[j];a[j]=a[j+1];a[j+1]=t;}

 

1.实验9_4编程,输入一个n行m列(n≤4,m≤4)的数组,先以n行m列的格式输出该数组,然后找出该数组中值最小的元素,输出该元素及其行下标和列下标。

#include

voidmain()

{floata[4][4],min;

inti,j,n,m,min_i,min_j;

printf("输入数组行数和列数nm:

");

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

printf("输入%d行%d列的数组元素:

",n,m);

for(i=0;i

for(j=0;j

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

min=a[0][0];min_i=min_j=0;

for(i=0;i

for(j=0;j

if(a[i][j]

{min=a[i][j];

min_i=i;min_j=j;

}

for(i=0;i

{for(j=0;j

printf("%8.2f",a[i][j]);

printf("\n");

}

printf("a[%d][%d]=%.2f\n",min_i,min_j,min);

}

/*输入数组行数和列数nm:

23

输入2行3列的数组元素:

12-715-18911

12.00-7.0015.00

-18.009.0011.00

a[1][0]=-18.00

*/

2.习题7.3求一个3×3的整型矩阵对角线元素之和。

#include

voidmain()

{inta[3][3]={1,2,3,4,5,6,9,8,7};

inti,j,sum1=0,sum2=0;

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

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

{if(i==j)sum1=sum1+a[i][j];

if(i+j==2)sum2=sum2+a[i][j];

}

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

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

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

printf("\n");

}

printf("sum1=%d,sum2=%d\n",sum1,sum2);

}

/*

123

456

987

sum1=13,sum2=17

*/

3.输入1个正整数n(1≤n≤6)和n阶方阵a中的元素,如果a是上三角矩阵,输出"YES",否则,输出"NO"。

上三角矩阵指主对角线(不包括主对角线)以下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的元素“连线”。

#include

voidmain()

{inta[6][6];

inti,j,n,flag=1;

scanf("%d",&n);

for(i=0;i

for(j=0;j

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

for(i=0;i

for(j=0;j

if((i>j)&&(a[i][j]!

=0))

{flag=0;break;}

if(flag)

printf("YES!

\n");

else

printf("NO!

\n");

}

/*4

1234

0568

0079

00010

YES!

4

1234

0568

0079

10010

NO!

*/

4.输入5行字符串,输出最大字符串。

#include

#include

voidmain()

{charstr[5][80],max[80];

inti;

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

gets(str[i]);

strcpy(max,str[0]);

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

if(strcmp(str[i],max)>0)

strcpy(max,str[i]);

puts(max);

}

/*

abcdefa

abcdefd

abcdeg

abcdefe

abcdefg

abcdeg

*/

1.实验10-1编程,输入一个以回车结束的字符串(少于80个字符),将它的内容颠倒过来再输出。

如“ABCD”颠倒为“DCBA”。

简化

#include

#include

voidmain()

{inti,k,temp;

charstr[80];

printf(”inputastring:

”);

gets(str);

 

k=strlen(str)-1;

i=0;

while((str[i]=getchar())!

=’\n’)

i++;

str[i]=’\0’;

k=i-1;

for(i=0;i

temp=str[i];

str[i]=str[k];

str[k]=temp;

k--;

}

puts(str);

for(i=0;str[i]!

=’\0’;i++)

putchar(str[i]);

}

 

2.实验10-3(习题10.7)编程,输入一个正整数n(n<=5),再输入n行字符串(每个字符串少于80个字符),分别统计其中大写英文字母、小写英文字母、数字、空格和其他字符的个数。

#include

#include

voidmain()

{chars[80];

inti,j,n;

intA,a,d,k,o;

printf("输入字符串行数:

");

scanf("%d",&n);

getchar();

A=a=d=k=o=0;

for(j=1;j<=n;j++)

{gets(s);

i=0;

while(s[i]!

='\0')

{if('A'<=s[i]&&s[i]<='Z')

A++;

elseif('a'<=s[i]&&s[i]<='z')

a++;

elseif('0'<=s[i]&&s[i]<='9')

d++;

elseif(s[i]=='')

k++;

else

o++;

i++;

}

}

printf("大写字母数:

%d\n",A);

printf("小写字母数:

%d\n",a);

printf("数字字符数:

%d\n",d);

printf("空格字符数:

%d\n",k);

printf("其他字符数:

%d\n",o);

}

输入字符串行数:

2

Beijing2008Gamesofthe29thOlympiad!

8thInternationalSymposiumonSafetySciencd.

大写字母数:

7

小写字母数:

59

数字字符数:

7

空格字符数:

11

其他字符数:

2

3.实验10-5编程,输入一个字符和一个以回车结束的字符串(少于80个字符),统计字符串中与字符相同的字母个数。

#include

voidmain()

{charstr[80],c;

inti,count;

printf("输入一个字符:

");

c=getchar();getchar();

printf("输入一个字符串:

");

gets(str);

count=0;

i=0;

while(str[i]!

='\0')

{if(str[i]==c)count++;

i++;

}

printf("在字符串中与%c相同的字母有%d个!

\n",c,count);

}

输入一个字符:

o

输入一个字符串:

StudioClassroom

在字符串中与o相同的字母有3个!

4.例7.8输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。

#include

voidmain()

{charstring[81];

inti,num=0,word=0;

charc;

gets(string);

for(i=0;((c=string[i])!

='\0');i++)

if(c=='')word=0;

elseif(word==0)

{word=1;num++;}

printf("Thereare%dwordsintheline\n",num);

}

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2