c++程序求查错(蛇形填数组)

c++程序求查错(蛇形填数组),第1张

程序思想没错,错在定义的数组不具体,编译器不能为其开辟正确的存储空间,根据您的期望我只能做如下更改,希望能够帮到你,谢谢!程序如下:

#include <iostream>

#include <cstring> 

using namespace std;

int main(){

int flag=1;

int c;cin>>c;

int data[4][4];  //此处错误,因为变量c编译时未赋值,编译器不能为此数组开辟具体的存储空间;

memset(data,0,sizeof(data));

for(int a=1;a<=2c;a++){

int i=0,m=0;

if(flag==1){

if(m==0){

data[i++][m]=a;

flag=-1;

}

else

data[i++][m++]=a;

}

else if(flag==-1){

if(i==0){

data[i][m++]=a;

flag=-1;

}

else

data[i--][m++]=a;

}

}

for(int i=0;i<5;i++){

for(int m=0;m<5;m++){

cout<<data[i][m]<<" ";

}

cout<<endl;

}

return 0;

}

#include<stdioh>

int main()

{

int p,q,r;

q=p=r=9;

printf("%d,%d,%d",q,p,r);//少输出一个值r

return 0;}//还需一个返回值

你的程序我帮你改了一下,运行没问题了,你看看吧。

import javaawtBorderLayout;

import javaawtContainer;

import javaawtFlowLayout;

import javaawtGridLayout;

import javaawteventWindowAdapter;

import javatextSimpleDateFormat;

import javautilDate;

import javautilLocale;

import javautilTimer;

import javautilTimerTask;

import javaxswingBorderFactory;

import javaxswingJButton;

import javaxswingJFrame;

import javaxswingJLabel;

import javaxswingJPanel;

class EntryManagement extends WindowAdapter

{

JButton pb,st;//声明需要调用的对象

JFrame f4;

public JPanel showTime;

private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss EEEEEEEEEE",LocaleENGLISH);

JLabel timelabel=new JLabel();

private EntryManagement()//账户管理系统登陆界面

{

JFrame f4 = new JFrame() ;

Container contentPane = f4getContentPane() ;

contentPanesetLayout(new BorderLayout()) ;

showTime = new JPanel();

JLabel showType = new JLabel("Staff Only",JLabelCENTER);

JPanel chooseType = new JPanel();

JPanel screen = new JPanel();

pb = new JButton("Public");

st = new JButton("Staff");

Timer timer = new Timer();

timerschedule(new TimerTask(){

public void run() {

Date nowDate=new Date();

timelabelsetText(sdfformat(nowDate));

}

}, new Date(), 1000);

showTimeadd(timelabel);

chooseTypesetLayout(new FlowLayout());//把组件放到JPanel里并设置格式

chooseTypeadd(pb);

chooseTypeadd(st);

chooseTypesetBorder(BorderFactorycreateTitledBorder("Please Choose Your Identity"));

showTypesetFont(new javaawtFont("Dialog",1, 30));

screensetLayout(new GridLayout(2,1));

screenadd(showTime);

screenadd(showType);

f4add(chooseType,BorderLayoutSOUTH);//把JPanel放到主窗口里并设置格式

f4add(screen,BorderLayoutCENTER);

f4setTitle("Entry Management");

f4setSize(400,300) ;

f4setLocationRelativeTo(null);

f4setVisible(true);

f4setDefaultCloseOperation(JFrameEXIT_ON_CLOSE);

}

public static void main(String[] args)

{

EntryManagement a=new EntryManagement();

}

}

看了你的程序,是实现把字符串中小写字母变为大写字母的功能。

注意以下几点,这个程序是可以用的。

1。char str[100]所以你输入的字符串长度不能超过它,准确地说不能超过99个字符。

2。filename[10] 你程序中没有使用它,不必要定义。

3。最重要的一点str[i]!='!' 所以你输入的字符串中必须含有!这个字符,否则程序会由于i++产生对str的越界访问。

所以你输入的字符必须是类似于:abs!, 23ertW!234

程序只会把第一个!前面的小写字母转换成大写字母

如果你不想以!为结尾,可以把str[i]!='!'改为str[i]!=0或str[i]!='\0',就可以了

大概是以上说的两种情况

以上就是关于c++程序求查错(蛇形填数组)全部的内容,包括:c++程序求查错(蛇形填数组)、c语言程序检查错误、JAVA程序查错等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/zz/9303599.html

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

发表评论

登录后才能评论

评论列表(0条)

保存