C语言TWO.docx

上传人:b****5 文档编号:8230535 上传时间:2023-01-30 格式:DOCX 页数:19 大小:20.38KB
下载 相关 举报
C语言TWO.docx_第1页
第1页 / 共19页
C语言TWO.docx_第2页
第2页 / 共19页
C语言TWO.docx_第3页
第3页 / 共19页
C语言TWO.docx_第4页
第4页 / 共19页
C语言TWO.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

C语言TWO.docx

《C语言TWO.docx》由会员分享,可在线阅读,更多相关《C语言TWO.docx(19页珍藏版)》请在冰豆网上搜索。

C语言TWO.docx

C语言TWO

1、用冒泡排序法对输入的20个数进行降序排列并寸入数组中,然后输入一个数,查找该数是否在数组中存在,若存在,打印出

该数组中对应的下标值

#include

#include

voidmain()

{

 

inttemp[20],B,i;

intsearch;

printf("inputthedata\n");

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

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

for(i=19;i>=0;i--)

for(intj=0;j

{

if(temp[j]

{

B=temp[j];

temp[j]=temp[j+1];

temp[j+1]=B;

}

}

printf("排序结果为:

\n");

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

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

printf("\n");

printf("请输入要查找的值:

\n");

scanf("%d",&search);

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

{

if(search==temp[i])

{

printf("你输入的数存在,下标为%d\n",i);

break;

}

else

if(search>temp[i])

printf("你输入的数不存在\n");

else

{

i++;

}

}

if(i==20)

printf("你输入的数不存在\n");

}

/****************************/

2、输入一行字符,分别统计出其中英文字母、空格、数字、和其他字符的个数。

#include

#include

voidmain()

{

inti=0;//英文字母数量

intj=0;//konge数量

intk=0;//数字数量

intothers=0;//其他字符

chartemp;//接收字符。

printf("Pleaseinputthestring\n");

while(true)

{

scanf("%c",&temp);

if(temp=='\n')

break;

else

{

if(((temp>='a')&&(temp<='z'))||((temp>='A')&&(temp<='Z')))

{

i=i+1;

continue;

}

if((temp>='0')&&(temp<='9'))

{

j=j+1;

continue;

}

if(temp=='')

{

k=k+1;

continue;

}

others++;

}

}

printf("字符数量:

%d\n",i);

printf("数字数量:

%d\n",j);

printf("空格数量:

%d\n",k);

printf("其他数量:

%d\n",others);

}

 

/*************************/

3、编一函数,将十进制整数转换为十六进制整数。

#include

#include

voidmain()

{

charHEX[17]={"0123456789ABCDEF"};

intnum;

printf("请输入一个十进制整数:

");

scanf("%d",&num);

inta[10];

inti=0;

intyushu;

while(num>0)

{

yushu=num%16;

a[i]=yushu;

num=num/16;

i++;

}

i--;

printf("转化为十六进制的数为:

");

for(;i>=0;i--)//倒序输出

{

printf("%c",HEX[a[i]]);

}

printf("\n");

}

4、

#definefindstring"You"

intfind(char*string)

{

intcounter=0;

intk=0;

intl=0;

counter=strlen(string);

for(k=0;k<(counter-4);k++)

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

if((string[l]=='Y')&&(string[l+1]=='o')&&(string[l+2]=='u'))

{

return

(1);

break;

}

return(0);

}

/*****************/

4、写出一通用函数,该函数从一个字符指针数组中寻找指定的一个字符串,若找到返回1,若找不到返回0。

#definefindstring"You"

intfind(char*string)

{

intcounter=0;

inti=0;

counter=strlen(string);

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

if((string[i]==findstring[0])&&(string[i+1]==findstring[1])&&(string[i+2]==findstring[2]))

{

return

(1);

break;

}

return(0);

}

设inta=1,b=2,c=3,d=4;,则表达式a++

a:

c

--a:

--d的结果?

我的思路是这样的:

这里运算符的优先级是自增自减运算符,关系运算符,三目运算符。

a自减自增后得原值,d得3,然后c

2,若intx=-1;则语句printf("%d,%u,%o",x,x,x);的输出为?

我的思路:

%d有符号十进制,%u无符号十进制,%o八进制,结果不是

x=-1,x=1,x=-1?

提问者:

乁Freedom-兵卒一级最佳答案

第一道题,a++是a先参与运算,然后自身的值再加一,所以a++

第二道这个题不同的机器结果会不一样,计算机中所有数都是用二进制补码表示,比如-1,用16位表示就是1111111111111111无符号表示65535,其余就不解释了

回答者:

fpga_dsp-试用期一级11-119:

20

我来评论>>

评价已经被关闭目前有0个人评价

50%(0)不好

50%(0)

相关内容

?

大家来帮我做几道英语练习题可以不?

?

紧急,今晚作业!

人教版七年级下册数学书-第八章二元一...

?

老舍的《济南的冬天》几道练习题

?

初一英语的几道练习题

?

社戏的几道练习题

查看同主题问题:

练习题

其他回答共1条

1:

你的表达式可以这样看(a++

a:

((c

--a:

--d);

先是计算(a++

2:

第二个题牵扯到整数的表示问题。

-1在内存中的表示形式是ffffffff(32位)

%d输出时正常输出为-1;当无符号十进制输出时,它会把最高位的1也按作数据位进行计算,因此会得到4294967295(32位int所能表示的最大整数);八进制的同无符号十进制,只是各个位的权重不同而已...

 

上级派来新领导,司机去接站,站台上有4人,司机上前询问,A说是D,B说是A,C说不是我,D说A胡说。

已知三人说真话,一人说假话。

谁是新领导?

问题补充:

我要的是源程序,不是废话!

请编程高手帮帮忙!

提问者:

CRIenglish-试用期一级最佳答案

WOW...THISISFUNNY...

Result:

Comeon!

A!

youaretheleader!

顺便说一句,这个显然是没效率的。

自己修改一下,不判断真的判断为3个,而判断假的判断大于一个。

你修改一下函数了。

反正这个简单也没有什么影响。

我说的是习惯。

#include

#defineA1

#defineB2

#defineC3

#defineD4

intselectLeader(intx)

{

intresult=0;

if(x==D)

++result;

if(x==A)

++result;

if(x!

=C)

++result;

if(x!

=D)

++result;

returnresult;

}

intmain(void)

{

inti;

charP[5]={[1]='A','B','C','D'};

_BoolfoundHim=0;

for(i=0;(!

foundHim)&&i<5;i++)

if(selectLeader(i)==3){

printf("Comeon!

%c!

youaretheleader!

\n",P[i]);

foundHim=1;

}

if(!

foundHim)

printf("Ohmygod!

whereishe?

!

\n");

return0;

}

回答者:

intelism-高级经理七级5-2512:

43

我来评论>>

评价已经被关闭目前有0个人评价

50%(0)不好

50%(0)

相关内容

?

c语言编程练习题的问题

?

C语言编程习题

?

急求解C语言编程习题(使用turboc)

?

C语言编程习题,急需做!

?

如何着手学习C语言。

我是新手!

查看同主题问题:

编程练习题语言编程

其他回答共5条

不会拿这做编程把...........答案是a

回答者:

xyfs0712-助理二级5-2414:

32

a

这个蛮有意思的

回答者:

bluesky0903-试用期一级5-2414:

46

有意思

一看就知道a和b有一个说假话

那c和d就说的都是真话了

a就是领导了

不过实在不会编啊

回答者:

月子哈哈-试用期一级5-2423:

17

高手也!

!

回答者:

delasm-魔法师五级5-2513:

02

#include

#defineA1

#defineB2

#defineC3

#defineD4

intselectLeader(intx)

{

intresult=0;

if(x==D)

++result;

if(x==A)

++result;

if(x!

=C)

++result;

if(x!

=D)

++result;

returnresult;

}

intmain(void)

{

inti;

charP[5]={[1]='A','B','C','D'};

_BoolfoundHim=0;

for(i=0;(!

foundHim)&&i<5;i++)

if(selectLeader(i)==3){

printf("Comeon!

%c!

youaretheleader!

\n",P[i]);

foundHim=1;

}

if(!

foundHim)

printf("Ohmygod!

whereishe?

!

\n");

return0;

}

输入两个数组a和b,分别已按从小到大顺序排好序,现将这两个有序组合并,使合并后的数组仍有序。

提问者:

CRIenglish-助理二级最佳答案

#include"stdio.h"

voidmain()

{

inta[10],b[10];

intc[20];

inti,m,n;

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

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

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

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

m=0;

n=0;

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

{

if(a[i]

c[n]=a[i];

else

{

c[n]=b[m];

m++;

}

n++;

}

if(m<9)

for(;m<10;m++)

{

c[n]=b[m];

n++;

}

for(i=0;i

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

}

#include

intmain()

{

inti,j,t;

inta[10],b[10];

cout<<"请输入第一个数组:

"<

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

cin>>a[i];

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

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

if(a[i]

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

cout<<"排序后的第一个数组为:

"<

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

cout<

cout<

cout<<"请输入第二个数组:

"<

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

cin>>b[j];

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

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

if(b[i]

{t=b[i];b[i]=b[j];b[j]=t;}

cout<<"排序后的第二个数组为:

"<

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

cout<

cout<

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

a[i]=a[i]+b[i];

cout<<"两数组的和为:

"<

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

cout<

cout<

return0;

}

3.求变量值:

x=5,x*=6,求x.

x=4,y=x<8?

3:

6,求y.

x=5,y=(x++,z=x+3,x*z),求y.

x=2,x<<3,求x.

x=6,y=++x,求x,y.

4.读程序,写出输出结果.

①#include

main()

{

inta,b:

for(a=1,b=1;a<=50;a++)

{

if(b>=10)break;

if(b%2==1)

{

b+=2;

contiune:

}

b=2;

}

printf("%d\n",a);

return0;

}

②#include

sub(x,y,z)

intx,y,#z;

{

*z=y-x;

}

main()

{

inta,b,c;

sub(10,5,&a);

sub(7,a,&b);

sub(a,b,&c);

printf("%d,%d,%d\n",a,b,c);

return0;

}

 

PS第3天给分择优只要答案基本正确保证给分谢谢

问题补充:

谢谢啊谢谢大家我是新手错误确实很多呢

提问者:

duancheng5678-助理二级最佳答案

1题:

1.编程实现:

求一个4*4矩阵主对角线元素之和.

#include

#defineM4

voidmain()

{

intsuzu[M][M];

intx,y;

intzu=0;

for(x=0;x

for(y=0;y

{

scanf("%d",&suzu[x][y]);

}

for(x=0;x

{

zu=zu+suzu[x][x];

}

printf("zuduijiaoxiandehe:

%d\n",zu);

getch();

}

2.编程实现:

从键盘依次输入100个整数,求它们的和,并输出结果.

#include

voidmain()

{

inti=0;

intsun=0;

intsu;

for(i;i<100;i++)

{

scanf("%d",&su);

sun+=su;

}

printf("sun=%d\n",sun);

getch();

}

3题:

30

3

54

16

7,7

4题:

(1):

6

(2):

-5,-12,-7

**c的写法应该这样

#include

sub(intx,inty,int*z)

{

*z=y-x;

}

main()

{

inta,b,c;

sub(10,5,&a);

sub(7,a,&b);

sub(a,b,&c);

printf("%d,%d,%d\n",a,b,c);

getch();

return0;

}

 

-----------------------------------------------------

第一题:

(核心部分)

假设之前4×4矩阵的数据已存入一个名为A的二维数组中。

intsum=0;

for(inti=0;i<4;i++)

sum+=A[i][i];

printf("元素之和为:

%d",sum);

第二题:

main()

{inta[100],i,sum;

for(i=0;i<100;i++)/*输入数据*/

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

for(i=0;i<99;i++)/*求和*/

sum+=a[i];

printf("Thesumis:

%d",sum);

}

第三题:

1.x=30

2.y=3

3.y=54

4.x=10

5.x=7,y=7

第四题:

1.好像原题有错误,按照原题等于的话是:

输出a=50;

2.输出a,b,c三个数:

-5,-12,-7

输入两个数组a和b,分别已按从小到大顺序排好序,现将这两个有序组合并,使合并后的数组仍有序。

#include"stdio.h"

voidmain()

{

inta[10],b[10];

intc[20];

inti,m,n;

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

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

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

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

m=0;

n=0;

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

{

if(a[i]

c[n]=a[i];

else

{

c[n]=b[m];

m++;

}

n++;

}

if(m<9)

for(;m<10;m++)

{

c[n]=b[m];

n++;

}

for(i=0;i

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

}

其他回答共1条

#include

intmain()

{

inti,j,t;

inta[10],b[10];

cout<<"请输入第一个数组:

"<

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

cin>>a[i];

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

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

if(a[i]

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

cout<<"排序后的第一个数组为:

"<

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

cout<

cout<

cout<<"请输入第二个数组:

"<

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

cin>>b[j];

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

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

if(b[i]

{t=b[i];b[i]=b[j];b[j]=t;}

cout<<"排序后的第二个数组为:

"<

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

cout<

cout<

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

a[i]=a[i]+b[i];

cout<<"两数组的和为:

"<

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

cout<

cout<

return0;

}

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

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1