C语言创新问题

C语言创新问题,第1张

楼主,我给你提供了思路,函数怎么用就看你了,不管挂不挂科,你都要自己动手,别人最多给你思路,帮你弄好了,那你叫那么多钱学费不是白交,好好想想怎么用那些给出来的函数吧

#include <stdio.h>

#include <stdlib.h>

int ins(int a[],int n,int x)/*在数组中插入一个数,该数存在x中*/

{ int p=0,i

while (x>a[p]&&p<n) p++printf("p=%d",p)

for (i=ni>p-1i--) a[i+1]=a[i]a[p]=x

return (n+1)

}

void selsort1(int a[],int n)/*选择排序*/

{

int i,temp,j

for(i=0i<n-1i++)

for(j=1j<n-i j++)

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

{

temp=a[j-1]

a[j-1]=a[j]

a[j]=temp

}

printf("排序结果:\n")

for(i=0i<ni++)

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

}

void selsort(int a[],int n)/*冒泡排序*/

{

int i,temp,j

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

for(j=1j<6-i j++)

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

{

temp=a[j-1]

a[j-1]=a[j]

a[j]=temp

}

printf("排序结果:\n")

for(i=0i<ni++)

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

}

int del(int a[],int n,int x)/*在数组中删除一个数,该数存在x中*/

{ int p=0,i

while (x>=a[p]&&p<n) p++

for (i=p-1i<ni++) a[i]=a[i+1]

return (n-1)

}

int bins(int a[],int n,int x)/*在有序数组中查找一个数,该数存在x中*/

{

int top,bot,find,mid

top=0bot=n-1find=0

do{mid=(top+bot)/2

if(x==a[mid]){

find=1}

else if(x<a[mid]) bot=mid-1

else if(x>a[mid]) top=mid+1

}while(top<=bot && !find)

return find

}

void input(int a[][10],int n,int m)/*矩阵输入*/

{

int i,j

for(i=0i<ni++)

for(j=0j<mj++)

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

}

void output(int a[][10],int n,int m)/*矩阵输出*/

{

int i,j

for(i=0i<ni++)

{for(j=0j<mj++)

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

printf("\n")

}

}

void transpose(int a[][10],int n)/*矩阵转置*/

{

int i,j,temp

for(i=0i<ni++)

for(j=0j<ij++)

{temp=a[i][j]a[i][j]=a[j][i]a[j][i]=temp}

}

int sum(int a[][10],int n,int m)/*求外围元素之和*/

{

int i,j,sum=0

for(i=0i<ni++)

for(j=0j<mj++)

if(i==0 || i==n-1 || j==0 || j==m-1)

sum=sum+a[i][j]

return sum

}

void jzc(int a[][3],int b[][2],int c[][2])/*两矩阵相乘*/

{

int i,j,k

for(i=0i<2i++)

for(j=0j<2j++)

{

c[i][j]=0

for(k=0k<3k++)

c[i][j]=c[i][j]+a[i][k]*b[k][j]

}

}

void main()

{

int a[10]

int n,x

int i,choice1,choice2,choice3

while(1)

{

LOOP1:

printf("\n\n\n\t\t\t\t主菜单\n\n")

printf("\t\t\t1.输入一个数组\n\n")

printf("\t\t\t2.输入一个矩阵\n\n")

printf("\t\t\t3.退出\n\n")

printf("\t\t\t 请输入你的选择:")

scanf("%d",&choice1)

if(choice1==3)

{

system("cls")

printf("感谢使用!\n")

break

}

switch(choice1)

{

case 1:

system("cls")

printf("请输入一个10个元素的数组:\n")

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

{

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

}

system("cls")

LOOP2:

printf("\n\n\n\t\t\t1.为数组插入一个数\n\n")

printf("\t\t\t2.为数组进行排序(选择法)\n\n")

printf("\t\t\t3.为数组进行排序(冒泡法)\n\n")

printf("\t\t\t4.删除数组中一个数\n\n")

printf("\t\t\t5.查找数组中一个数\n\n")

printf("\t\t\t6.返回主菜单\n\n")

printf("\t\t\t 你的选择:")

scanf("%d",&choice2)

switch(choice2)

{

case 1:system("cls")break

case 2:system("cls")break

case 3:system("cls")break

case 4:system("cls")break

case 5:system("cls")break

case 6:system("cls")goto LOOP1

default:goto LOOP2

}

break

case 2:

system("cls")

break

}

}

}

方法其实有很多啊,给你列出几种吧:

用移位实现跑马灯

#include<reg52.h>

#include<intrins.h>

#define uint unsigned

int

#define uchar unsigned char

#define DELAY_CONST 50000

uchar value = 0xfe

void Delay(uint n)

{ uint i

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

}

void main(void)

{ while(1){

Delay(DELAY_CONST)

P2 = value

value <<= 1

if(value==0x00){

value = 0xfe}

}

}

这个思路跟一楼的差不多,

但绝对是自己写的

2.用数组编写程序

#include <reg51.h>

#define uint unsigned int

#define uchar unsigned char

uchar code table[]={0xff,0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00}

void delay(uint z)

{

uint x,y

for(x=zx>0x--)

for(y=110y>0y--)

}

void main()

{uint a

while(1){

for(a=0a<9,a++)

{P0=table[a]

delay(1000)}

}}

用位 *** 作实现

#include <reg51.h>

#define uint unsigned int

#define uchar unsigned char

sbit D0=P0^0

sbit D1=P0^1

sbit D2=P0^2

sbit D3=P0^3

sbit D4=P0^4

sbit D5=P0^5

sbit D6=P0^6

sbit D7=P0^7

void delay(uint z)

{

uint x,y

for(x=zx>0x--)

for(y=110y>0y--)

}

void main()

{

while(1)

{P0=0xff

delay(1000)

D0=0

delay(1000)

D1=0

delay(1000)

D2=0

delay(1000)

D3=0

delay(1000)

D4=0

delay(1000)

D5=0

delay(1000)

D6=0

delay(1000)

D7=0

delay(1000)

}

}

最基本的编程方法(看起来有点多余)

1.最基本赋值语句编写

#include <reg51.h>

#define uint unsigned int

#define uchar unsigned char

void delay(uint z)

{

uint x,y

for(x=zx>0x--)

for(y=110y>0y--)

}

void main()

{

while(1)

{

P0=0xff

delay(1000)

P0=0xfe

delay(1000)

P0=0xfc

delay(1000)

P0=0xf8

delay(1000)

P0=0xf0

delay(1000)

P0=0xe0

delay(1000)

P0=0xc0

delay(1000)

P0=0x80

delay(1000)

P0=0x00

delay(1000)

}

}

创新程序包括:提出构想。

创新是指以现有的思维模式提出有别于常规或常人思路的见解为导向,利用现有的知识和物质,在特定的环境中,本着理想化需要或为满足社会需求,而改进或创造新的事物、方法、元素、路径、环境,并能获得一定有益效果的行为。

创新从哲学上说是一种人的创造性实践行为,这种实践为的是增加利益总量,需要对事物和发现的利用和再创造,特别是对物质世界矛盾的利用和再创造。人类通过对物质世界的利用和再创造,制造新的矛盾关系,形成新的物质形态。

扩展资料:

创新不容易,创新意味着改变推陈出新、气象万新、焕然一新,无不是诉说着一个“变”字;创新意味着付出,因为惯性作用,没有外力是不可能有改变的,这个外力就是创新者的付出;创新意味着风险,从来都说一份耕耘一份收获,而创新的付出却可能收获一份失败的回报。

创新确实不容易,所以总是在创新前面加上“积极”、“勇于”、“大胆”之类的形容词。因为创新不容易,所以创新成为人才的一大特征,也就有了创新人才的问题。那么,创新人才除了专业知识及技能外,要具备心理特征,首先要有自信,相信自己有能力改变。

参考资料来源:百度百科-创新


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11567328.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存