题目都是计算机二级的简单应用题。。既然我做了就发上来吧,和答案有不一样的,答案的做法就不发了,有些算法感觉还想不到= =继续努力!当然既然是计算机二级的题目,哦就必须在vc6.0才能运行吧。。devc++不行。。不知为何= =
1.1
#include <iostream.h>
int fun(char* s1,char* s2)
{
int size=0;
int s1len;
int s2len;
for(s1len=0;s1[s1len]!=0;s1len++);
for(s2len=0;s2[s2len]!=0;s2len++);
for(int i=0;i<s1len;i++)
{
int j=0;
for(;j<s2len;j++)
if(s1[i+j]!=s2[j])
break;
if(j==s2len)
{
++size;
i+=j;
--i;
}
}
return size;
}
void main()
{
char s1[1024];
char s2[256];
cout<<"Please input a string: "<<endl;
cin.getline(s1,1024);
cout<<"Please input other string:"<<endl;
cin.getline(s2,256);
cout<<fun(s1,s2);
cout<<endl;
return; //misad
}
2.0
#include <iostream.h>
int fun(char* data)
{
int i=0;
for(i;data[i]!=0;i++);
if(i==0&&data==NULL)
return -1;
char num=data[0];
int count=0;
for(int j=0;j<=i;j++)
{
if(num>=data[j])
{
num=data[j];
count=j;
}
}
return count;
}
void main()
{
char str[1024];
cout<<"请输入一行英文字符串 :\n";
cin.getline(str,1024);
cout<<"最小的字母出现在距离头部 :"
<<fun(str)<<"个字母处"<<endl;
}//dd
3.0
#include <iostream>
void fun(double b[],int len)
{
if(len>0)
b[0]=0;
if(len>1)
b[1]=1;
for(int i=0;i<len;i++)
b[i+2]=b[i]+b[i+1];
}
int main()
{
double b[128];
fun(b,128);
for(int i=0;i<128;i++)
{
std::cout<<b[i]<<' ';
if (i%6 == 5)
std::cout<<std::endl;
}
return 0;//dd
}
4.0
#include <iostream.h>
#define MAX_N 10
int XX[MAX_N][MAX_N];
int fun(int n)
{
int square=0;
for(int i=0;i<n;i++)
square+=XX[i][i]*XX[i][i];
if(n%2==0)
for(int i=0;i<n;i++)
square+=XX[i][n-i-1]*XX[i][n-i-1];
else{
square-=XX[n/2][n/2]*XX[n/2][n/27];
for(int i=0;i<n;i++)
square+=XX[i][n-i-1]*XX[i][n-i-1];
}
return square;
}
void main()
{
int n;
do
{
cout<<"please input N(1<=N<=10):"<<endl;
cin>>n;
if( n<10 && n>= 1)
{
break;
}
}while(1);
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
cout<<"please input data: "<<endl;
cin>>XX[i][j];
}
}
cout<<fun(n)<<endl;
return;//dd
}