void __fastcall TForm1::Button1Click(TObject Sender)
{
TList L;
int N[7];
long T=time(0);
int iIndex;
T=T % 1000000;
L=new TList();
try
{
Label8->Caption="00";
Label9->Caption="00";
Label10->Caption="00";
Label11->Caption="00";
Label12->Caption="00";
Label13->Caption="00";
Label14->Caption="00";
Application->ProcessMessages();
iIndex=0;
for (int i = 0; i < 47; i++) {
L->Add((void )(i+1));
//Memo1->Lines->Add(i+1);
}
for (int m = 0; m <= 6; m++) {
for (int i = 0; i <= T; i++) {
random(time(0));
int j=rand();
int k=j % L->Count;
int iTmp=(int)L->Items[0];
L->Items[0]=L->Items[k];
L->Items[k]=(void )iTmp;
}
//Memo1->Lines->Add("-----------------------------");
//for (int i = 0; i <= L->Count-1; i++) {
// Memo1->Lines->Add((int)L->Items[i]);
//}
random(time(0));
int j=rand();
j=j%L->Count;
N[m]=(int)L->Items[j];
L->Delete(j);
AnsiString s;
switch (m) {
case 0:{
ssprintf("%22d",N[0]);
Label8->Caption=s;
Application->ProcessMessages();
Sleep(10);
break;
}
case 1:{
ssprintf("%22d",N[1]);
Label9->Caption=s;
Application->ProcessMessages();
Sleep(10);
break;
}
case 2:{
ssprintf("%22d",N[2]);
Label10->Caption=s;
Application->ProcessMessages();
Sleep(10);
break;
}
case 3:{
ssprintf("%22d",N[3]);
Label11->Caption=s;
Application->ProcessMessages();
Sleep(10);
break;
}
case 4:{
ssprintf("%22d",N[4]);
Label12->Caption=s;
Application->ProcessMessages();
Sleep(10);
break;
}
case 5:{
ssprintf("%22d",N[5]);
Label13->Caption=s;
Application->ProcessMessages();
Sleep(10);
break;
}
case 6:{
ssprintf("%22d",N[6]);
Label14->Caption=s;
Application->ProcessMessages();
Sleep(10);
break;
}
default:
;
}
}
//ssprintf("%22d-%22d-%22d-%22d-%22d-%22d-%22d",N[0],N[1],N[2],N[3],N[4],N[5],N[6]);
//Edit1->Text=s;
}
__finally
{
L->Free();
}
}
% t4m参考程序(考虑了多人最高、最低等情况):
% 请看懂!!!能编最好!
function t4()
clc
%---------start 初始化---------------
row=input('输入学生人数:');
col=input('输入课程数目:');
score=fix(rand(row,col)49)+49;
xh0=1:row;
kch0=1:col;
for ii=1:row
zcj_pre(ii)=sum_(score(ii,:));
end
disp('原始成绩表<第一列为学号、中间依次为各科成绩、最后一列为学生总成绩>:')
disp([xh0' score zcj_pre']);
%---------end 初始化--------------------
% 调用tongji1
[c_max,index_max,c_min,index_min,c_ave]=tongji1(score);
disp('平均分统计:')
fprintf(' 课程 平均\n');
% 按以上格式输出
disp([kch0',round(c_ave)']);
disp('课程最高分统计:')
fprintf(' 课程 最高 学号\n');
for jj=1:col
fprintf(' %d %d ',kch0(jj),c_max(jj))
for kk=1:length(index_max{jj})
fprintf('%d ',index_max{jj}(kk));
end
fprintf('\n');
end
disp('课程最低分统计:')
fprintf(' 课程 最低 学号\n');
% 按以上格式输出
for jj=1:col
fprintf(' %d %d ',kch0(jj),c_min(jj))
for kk=1:length(index_min{jj})
fprintf('%d ',index_min{jj}(kk));
end
fprintf('\n');
end
% 调用tongji23
[s_max,index_max,s_min,index_min,px]=tongji23(score);
disp('学生总成绩最高分统计:')
fprintf('最高总分 学号\n');
% 按以上格式输出
fprintf('%d ',s_max);
disp(index_max);
disp('学生总成绩最低分统计:')
fprintf('最低总分 学号\n');
% 按以上格式输出
fprintf('%d ',s_min);
disp(index_min);
disp('--------------------------------');
fprintf('总成绩排降序:\n');
fprintf('总成绩 学号\n');
% 按以上格式输出
disp(px);
% 存入zcj
zcj=px(:,1);%zcj在主函数空间
% 存入xh
xh=px(:,2);%xh也在主函数空间
function [c_max,index_max,c_min,index_min,c_ave]=tongji1(score)
% c_max课程最高分col1向量
% index_max课程最高分对应学号col1元胞
% c_min课程最低分col1向量
% index_min课程最低分对应学号col1元胞
% c_ave课程平均成绩col1向量
[row,col]=size(score);
for jj=1:col
[c_max(jj),index_max{jj}]=max_(score(:,jj));
[c_min(jj),index_min{jj}]=min_(score(:,jj));
c_ave(jj)=ave_(score(:,jj));
end
function [s_max,index_max,s_min,index_min,px]=tongji23(score)
% s_max col门课程总成绩最高分
% index_max col门课程总成绩最高分对应学号
% s_min col门课程总成绩最低分
% index_min col门课程总成绩最低分对应学号
% px 排降序后的矩阵row2 [col门课程总成绩 学号]
[row,col]=size(score);
for ii=1:row
zcj(ii)=sum_(score(ii,:));
end
[s_max,index_max]=max_(zcj);
[s_min,index_min]=min_(zcj);
px=sort_down(zcj);
function y=sum_(x)%自编求和函数,x为向量
y=0;
for ii=1:length(x)
y=y+x(ii);
end
function y=ave_(x)%自编求平均值函数,x为向量
y=sum_(x)/length(x);
function [x_max,index]=max_(x)%自定义函数
% x_max:向量x中的最大值
% index:向量x中的最大值对应的下标向量(有可能多个)
index=[];
x_max=x(1);
for ii=1:length(x)
if x(ii)>=x_max
x_max=x(ii);
end
end
for ii=1:length(x)
if x(ii)==x_max
index=[index,ii];
end
end
function [x_min,index]=min_(x)%自定义函数
% x_min:向量x中的最小值
% index:向量x中的最小值对应的下标向量(有可能多个)
index=[];
x_min=x(1);
for ii=1:length(x)
if x(ii)<=x_min
x_min=x(ii);
end
end
for ii=1:length(x)
if x(ii)==x_min
index=[index,ii];
end
end
function px=sort_down(x)
% px=[y_down index]
% y_down:x排降序
% index:x排序后的行标序列
[row,col]=size(x);
if row==1&&col~=1%保证x为列向量
x=x';
end
row=length(x);
index=1:row;
px=[x,index'];%构成排序前px
%采用选择排序2:
for ii=1:row-1
kk=ii;
for jj=ii+1:row
if px(jj,1)>px(kk,1)
kk=jj;
end
end
if kk~=ii
temp=px(kk,:);
px(kk,:)=px(ii,:);
px(ii,:)=temp;
end
end
用数组来表示这一组未知数啊
T(1)=1;%T1的赋值
T(2)=2;%T2的赋值
T(100)=100;%T100的赋值
调用Ti的数值时就写T(i)就好了,如果你这100个数是有规律的,比如是从1到100之间的整数,可以这么写
T=[1:1:100];
希望能帮助到你!
matlab 程序的文件代码是以m文件的形式呈现的。将matlab代码编写进m文件内然后运行即可。
例子:
建立一个 helloworldm
文件内包括内容如下:
fprintf('Hello World!');
使用快捷键F5直接运行,然后可以在控制台下看到打印的:
Hello World!
基本解答如下:
(1-1):
function [b,y] = by(m,n)
b=lcm(m,n);%最小公倍数
y=gcd(m,n);%最大公约数
end
(1-2):
function t=sushu(n)
m=floor(sqrt(n));
for i=2:m
if mod(n,i)==0
t=0;
break;
else
t=1;
end
end
end
(2):可以一次算出每一项,发现他们都是同一个值,这个值的求法:SUM=sum(1:n^2)/n;%n阶魔幻阵特有的和
function [A,H,L,DJ,SUM]=mag(n)
A=magic(n);%产生一个n阶魔幻阵
H=sum(A);%每行的和
L=sum(A);%每列的和
DJ=sum(diag(A));%对角线和
SUM=sum(1:n^2)/n;%n阶魔幻阵特有的和
end
(3):这题我给出“该数各位数字之和为奇数”的求法,结合上面有判断素数的代码自己可以求出
该数各位数字之和为奇数:
function funct
for i=2:999
%l=floor(log10(i))+1; %提取位数
n1=floor(i/100); %取出百位数字n1
n2=mod(floor(i/10),10); %取出十位数字n2
n3=mod(i,10) ; %取出个位数字n3
nsum=n1+n2+n3;
if rem(nsum,2)~=0%判断是否为奇数
disp (i);
end
end
end
自己可以调试看看,祝你成功!
以上就是关于在matlab中,如何编写一段程序如下要求的程序:全部的内容,包括:在matlab中,如何编写一段程序如下要求的程序:、用matlab写一个小程序、Matlab程序编写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)