最近在学线性代数,以前没有把线性代数学好,学了两周的线性代数,C语言的学习就落下了,打算在考完线性代数后把学习的重心转向C语言。上次上机考试没考好,总结原因在于很多很基本的东西在考试的时候遗忘了,不单单是练得少,书上的习题操作得少,上周末我用一天时间把书上数组的习题包括注释全部通过编译器打在电脑,发觉课本知识很基本,考试知识很灵活。
433分
第一行输入两个整数,第一个表示数组长度,第二个表示左移位数,第二行输入数组,求左移后的数组
int n,k;//表示数据n表示数组长度,k表示左移位数
scanf(n,k);
if(k>n) k=k%n//通过交换数组实现数据左移,通过求余求出数组的长度
int a[k],b[n-k];//建立两个数组,调换顺序输出达到数据左移的目的
int i;
for(i=0;i小于k;i++)
scanf(a[i]);
end for
for(i=0;i<n-k;i++)
scanf(b[i])
end for
for(i=0;i<n-k;i++)
if(i不等于0)then 输出空格
end if
输出 b[i]
end for
if k不等于0 then 输出空格
for(i=0;i<k;i++)
输出a[i]
if(i!=k-1) then 输出空格
end if
end for
A2:仔细思考,用求余解决问题
输入n个数组,判断是否为上三角形
输入count统计矩阵数目
for(i=1;i<=count;i++)
输入行列数row
定义a[row][row]阶矩阵
输入数组
for(j=1;j<row;j++)//判断是否为三角矩阵
for(k=0;k<j;k++)
if(a[j][k]!=0) then flag=1;//不是 矩阵,flag=1
end if
end for
end for
if 不是第一行 then 换行
if flag 为1 tjen输出NO
else 输出yes
end for
输入一个字符串,判断是否是合法邮箱,输入的只能是字母、数字、下划线、@以及.五种, @前后只能是字母或者数字,而且.后只能是com, 是则输出YES ,否则输出NO。
int judge1(char *p);//判断单个字符是否全部合法
int judge2(char *p);//判断@周围的字符是否合法
int judge3(char *p);//判断.后的字符是否合法
int main()
输入数组a
if(judge1(a)==0) then printf("NO");//判断邮箱是否合法 ,合法输出YES,否则输出NO
else if(judge2(a)==0) then printf("NO");
else if(judge3(a)==0) then printf("NO");
else printf("YES");
end if
end if
end if
end
int judge1(char *p)
for(;*p!=‘\0‘;p++)
if(数字不是字母、数字、下划线、@以及.)then return 0
end if
end for
return 1
end
int judge2(char *p)
for(;*p!=‘\0‘;p++)
if(@两边的数不是数字或者字母)then return 0;
end if
end for
return 1
end
int judge3(char *p)
for(;*p!=‘\0‘;p++)
if(.后面不是com)then return 0
end if
end for
return 1
end
A3:本题良心出品的解题步骤,有指针有数组有函数,综合性强。
同学代码:
我的代码:
原文:https://www.cnblogs.com/1112wlt/p/10079683.html