| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2809 人关注过本帖
标题:这题目最少可用多少for语句?
只看楼主 加入收藏
孤魂居士
Rank: 2
来 自:老A(中国地大)
等 级:论坛游民
威 望:4
帖 子:1142
专家分:18
注 册:2007-5-21
收藏
得分:0 

各位大哥 这个程序是有点不知所云..其实情况是这样的,上次在机房上机,老师出的题目很简单,没有这么复杂
他出的是个死的程序
只要求这样:

X1 X2 X3

X4 X5 X6

X7 X8 X9

X1代表1 X2代表2 其实题目上的X1是用圈圈画的 共九个圈圈 把第一条对角线的数 1 5 9 输入 再输入第2条对角线的数 7 5 3 用循环求两条对角线的和 谁都知道等于25 我说这简单还要编写程序啊```我就自己把题目改造了下 把这个题目改成活的了 本来这个题目是个二维数组a[3][3],我的意思就是想改造下 搞成活的编写看看 a[4][4],a[5][5],a[6][6]....
根据这题的排序规律,对角线会越来越长`数字还是这个规律排序``从1开始的 再就不是任意输入啦```上次是我说错了`` 对不起哦```这个程序 我就是写了个 但是调试了很多次就是成不了```
希望 大哥大姐 根据这个意思 或者编辑个上面`a[3][3]死程序也可以`````要是用循环的哦,老师说了 这谁都知道这结果```


准备用3年做个高级软件工程师 10年也做不成。准备用10年做成高级软件工程师 3年就成了QQ 群 45771086
欢迎版主...欢迎JAVA爱好者...
一起从深夜 到凌晨...
2007-05-22 17:19
I喜欢c
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:64
帖 子:1749
专家分:0
注 册:2007-3-2
收藏
得分:0 
把你的发上来看看先..

 我是指针,却丢失了目标地址!          我是循环,却缺少了结束条件!      我是函数,却没有人来调用!   
2007-05-22 17:48
孤魂居士
Rank: 2
来 自:老A(中国地大)
等 级:论坛游民
威 望:4
帖 子:1142
专家分:18
注 册:2007-5-21
收藏
得分:0 
  我怕发上来  你们会笑话我``

准备用3年做个高级软件工程师 10年也做不成。准备用10年做成高级软件工程师 3年就成了QQ 群 45771086
欢迎版主...欢迎JAVA爱好者...
一起从深夜 到凌晨...
2007-05-22 17:52
孤魂居士
Rank: 2
来 自:老A(中国地大)
等 级:论坛游民
威 望:4
帖 子:1142
专家分:18
注 册:2007-5-21
收藏
得分:0 

#include "iostream.h"
void main()
{
int a[3][3],i,j,s1,s2,s3,sum;

cout<<"输入3个数"<<endl;
for(i=0;i<=2;i++)
for(j=2;j>=i-1;j--)
cin>>a[i][j];

cout<<"输入3个数"<<endl;
for(i=0;i<=2;i++)
for(j=0;j<=i;j++)
cin>>a[i][j];

for(i=0;i<=2;i++)
for(j=0;j<=i;j++)
a[i][j]=a[i][j]+a[i+1][j+1];
s1=a[i][j];

for(i=0;i<=2;i++)
for(j=2;j>=i-1;j--)
a[j][i]=a[j][i]+a[j-1][i+1];
s2=a[j][i];

if(a[i][j]==a[j][i]) //如果奇数时候 那么两条对角线相加和的时候就要把中间的那个数加两次,所以减掉一个中间的数。
s3=a[j][i];

sum=s1+s2-s3;
cout<<"sum="<<sum<<endl;


准备用3年做个高级软件工程师 10年也做不成。准备用10年做成高级软件工程师 3年就成了QQ 群 45771086
欢迎版主...欢迎JAVA爱好者...
一起从深夜 到凌晨...
2007-05-22 18:16
孤魂居士
Rank: 2
来 自:老A(中国地大)
等 级:论坛游民
威 望:4
帖 子:1142
专家分:18
注 册:2007-5-21
收藏
得分:0 
请高手看看   我是 不是错的一踏糊涂````

准备用3年做个高级软件工程师 10年也做不成。准备用10年做成高级软件工程师 3年就成了QQ 群 45771086
欢迎版主...欢迎JAVA爱好者...
一起从深夜 到凌晨...
2007-05-22 18:16
孤魂居士
Rank: 2
来 自:老A(中国地大)
等 级:论坛游民
威 望:4
帖 子:1142
专家分:18
注 册:2007-5-21
收藏
得分:0 

六楼的哥哥 你太强悍了 我刚刚运行了一遍 是正确的
哇靠 编程真的有意思``不过就是有点点的问题``是要求出两个对角线所有的数的和
但是两个对角线加起来后,中间的数就加了两次``假如数组是
1 2 3
4 5 6
7 8 9

那加起来的对角线就是30了 正确答案是25 把中间的那个数加了两次哦
嘿嘿 改一下就是一个非常棒的程序啦```


准备用3年做个高级软件工程师 10年也做不成。准备用10年做成高级软件工程师 3年就成了QQ 群 45771086
欢迎版主...欢迎JAVA爱好者...
一起从深夜 到凌晨...
2007-05-22 21:23
kisscjy
Rank: 1
等 级:新手上路
帖 子:217
专家分:0
注 册:2007-4-9
收藏
得分:0 

等一下我改一下再发上来好了~~~


每当我一晚写下70,80个程序时,你还真以为,这都是我一个人干的.....不过说真的,其实都是抄书的~~ ^@^
2007-05-22 22:37
孤魂居士
Rank: 2
来 自:老A(中国地大)
等 级:论坛游民
威 望:4
帖 子:1142
专家分:18
注 册:2007-5-21
收藏
得分:0 

嘿嘿 上面的哥哥 我刚刚就是改你的程序 改了半天改好了 就是不输出结果``我人都快急死``
程序是改成这样的了 哥哥看看\有什么错误:


#include<iostream>
using namespace std;

void main()
{
int n,sum3,sum;
int sum1=0,sum2=0;
cout<<"输入矩阵的行数!"<<endl;
cin>>n;
int **p=new int *[n]; //定义动态二维数组
int i,j;
for(i=0;i<n;i++)
{
p[i]=new int [n];
}

cout<<"请输入数组的值:"<<endl;
for(i=0;i<n;i++) //输入数组的值
{
for(j=0;j<n;j++)
{
cin>>p[i][j];
}
}

cout<<endl;
for(i=0;i<n;i++) //输出距阵
{
for(int j=0;j<n;j++)
{
cout<<p[i][j]<<'\t';
}
cout<<endl;
}
cout<<endl;

for(i=0;i<n;i++) //计算对角线元素和
{
for(i=0,j=n-1;i<n;i++,j--)
sum1=sum1+p[i][i];
sum2=sum2+p[j][i];

if(p[i][i]==p[j][i])
sum3=p[i][j];
sum=sum1+sum2-sum3;
}

cout<<"对角线的和为:"<<sum<<endl;


}


准备用3年做个高级软件工程师 10年也做不成。准备用10年做成高级软件工程师 3年就成了QQ 群 45771086
欢迎版主...欢迎JAVA爱好者...
一起从深夜 到凌晨...
2007-05-22 22:43
孤魂居士
Rank: 2
来 自:老A(中国地大)
等 级:论坛游民
威 望:4
帖 子:1142
专家分:18
注 册:2007-5-21
收藏
得分:0 
哥哥  你怎么还没有给我发上来啊``

准备用3年做个高级软件工程师 10年也做不成。准备用10年做成高级软件工程师 3年就成了QQ 群 45771086
欢迎版主...欢迎JAVA爱好者...
一起从深夜 到凌晨...
2007-05-22 22:57
kisscjy
Rank: 1
等 级:新手上路
帖 子:217
专家分:0
注 册:2007-4-9
收藏
得分:0 

帮你改了下~~~


#include<iostream>
using namespace std;

void main()
{
int n,sum;
int sum1=0,sum2=0;
cout<<"输入矩阵的行数!"<<endl;
cin>>n;
int **p=new int *[n]; //定义动态二维数组
int i,j;
for(i=0;i<n;i++)
{
p[i]=new int [n];
}

cout<<"请输入数组的值:"<<endl;
for(i=0;i<n;i++) //输入数组的值
{
for(j=0;j<n;j++)
{
cin>>p[i][j];
}
}

cout<<endl;
for(i=0;i<n;i++) //输出距阵
{
for(int j=0;j<n;j++)
{
cout<<p[i][j]<<'\t';
}
cout<<endl;
}
cout<<endl;

for(i=0;i<n;i++) //计算对角线元素和
{
for(i=0,j=n-1;i<n;i++,j--)
{ //少了一对括号
sum1=sum1+p[i][i];
sum2=sum2+p[j][i];
}
}

if(n%2==1) //当为奇数时减去中间一项
{

sum=sum1+sum2-p[n/2][n/2];
}

else sum=sum1+sum2;

cout<<"对角线的和为:"<<sum<<endl;

for (i = 0;i < n;++i) //释放内存
delete [] p[i];
delete [] p;

}

顺便问一下,你这个距阵的元素是不是有规律的啊??

是不是按1,2,3,4.....这些顺序来给元素赋值的啊?


每当我一晚写下70,80个程序时,你还真以为,这都是我一个人干的.....不过说真的,其实都是抄书的~~ ^@^
2007-05-22 23:07
快速回复:这题目最少可用多少for语句?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018367 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved