程序思想没错,错在定义的数组不具体,编译器不能为其开辟正确的存储空间,根据您的期望我只能做如下更改,希望能够帮到你,谢谢!程序如下:
#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程序查错等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)