| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1382 人关注过本帖
标题:请大家帮忙,5道实验题
只看楼主 加入收藏
vandychan
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
等 级:贵宾
威 望:18
帖 子:2296
专家分:6418
注 册:2010-8-20
收藏
得分:0 
以下是引用zghnxzdcx在2010-10-24 19:22:28的发言:

话不要说的那么直白
确实很直白 但是确实是事实

到底是“出来混迟早要还”还是“杀人放火金腰带”?
2010-10-24 20:17
zghnxzdcx
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:550
专家分:1176
注 册:2010-4-6
收藏
得分:0 
回复 11楼 vandychan
不争论

你永远不可能战胜一个纯傻子,因为他会把你的智商拉到和他同一个水平,然后用他的丰富经验打败你。
2010-10-24 20:19
vandychan
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
等 级:贵宾
威 望:18
帖 子:2296
专家分:6418
注 册:2010-8-20
收藏
得分:0 
以下是引用zghnxzdcx在2010-10-24 20:19:08的发言:

不争论
我没有和你争论啊

到底是“出来混迟早要还”还是“杀人放火金腰带”?
2010-10-24 20:21
chinesebear
Rank: 2
等 级:论坛游民
帖 子:23
专家分:29
注 册:2010-9-30
收藏
得分:0 
第一题加密程序
程序代码:
#include<stdio.h>
main(void)
{
    int i,j,k;
    char *p1="abcbefghi jklmnopqrstuvwyz";
    char *p2="ngzqtcobmuhelkpdawxfylvrsj";
    char c;
    printf("输入需要加密的字符串:\n");
    while ((c=getchar()))
    for(i=0 ; i< 26; i++)
    if(c == *(p1+i))printf("%c" , *(p2+i));
    return 0;
}
解密程序
程序代码:
#include<stdio.h>
main(void)
{
    int i,j,k;
    char *p2="abcbefghi jklmnopqrstuvwyz";
    char *p1="ngzqtcobmuhelkpdawxfylvrsj";
    char c;
    printf("输入需要解密的字符串:\n");
    while ((c=getchar()))
    for(i=0 ; i< 26; i++)
    if(c == *(p1+i))printf("%c" , *(p2+i));
    return 0;
}



 

[ 本帖最后由 chinesebear 于 2010-10-24 21:20 编辑 ]
2010-10-24 21:15
pxhn111
Rank: 2
等 级:论坛游民
帖 子:15
专家分:10
注 册:2010-8-2
收藏
得分:0 
第一题我还真不会哎,看来我也不适合咯。。。。
2010-10-25 12:16
pxhn111
Rank: 2
等 级:论坛游民
帖 子:15
专家分:10
注 册:2010-8-2
收藏
得分:0 
好吧,我承认我2了。。。。
2010-10-25 12:21
vandychan
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
等 级:贵宾
威 望:18
帖 子:2296
专家分:6418
注 册:2010-8-20
收藏
得分:0 
自古2楼出。。。。。嘿嘿

到底是“出来混迟早要还”还是“杀人放火金腰带”?
2010-10-25 12:31
chinesebear
Rank: 2
等 级:论坛游民
帖 子:23
专家分:29
注 册:2010-9-30
收藏
得分:10 
程序代码:
#include<stdio.h>
int binsearch(int , int[], int);

main(void)
{
    int c,m;
    int i,j,k;
    int num[10];
    printf("输入10个数的有序数列:");
    for(i =0; i<10; i++)
    {scanf("%d" , &c);
     num[i] = c;
     }
    printf("输入要查找的的数字:");
    scanf("%d" , &m);
      // printf("%d\n" ,binsearch(m,num,10));
    if(binsearch(m,num,10) >= 0) printf("FOUND!\n");
    else printf("NOT FOUND!\n");
    return ;

 }
int binsearch(int x, int v[], int n)/*折半查找法函数*/
{
    int low,high,mid;
    low =0;
    high = n-1;
    while(low < high)
    {
        mid =(low + high)/2;
        if(x < v[mid])
          high = mid- 1;
         else if (x > v[mid])
         low =mid -1;
         else
         return mid;/*找到了匹配的的值*/
    }
    return -1;/*没有匹配的的值*/
}
第二个题目的答案,程序基本能行,凑活着看吧,能运行处结果!
2010-10-25 20:05
chinesebear
Rank: 2
等 级:论坛游民
帖 子:23
专家分:29
注 册:2010-9-30
收藏
得分:10 
程序代码:
#include <stdio.h>
void qsort(int[], int, int);
void swap(int[], int, int);

void main(void)
{
int i, j,n;
int num[10];
printf("输入任意10个数:");
for(i = 0; i < 10; i++)
{scanf("%d", &n);
num[i]= n;
}
qsort(num,0,9);
for(j = 0; j<10;j++)
printf("%d " , num[j]);
}
void qsort(int v[], int left, int right)
{
int i, last;
if (left >= right) return;
swap(v, left, (left + right)/2);
last=left;
for (i = left+1; i <= right; i++)
if (v[i] < v[left])
swap(v, ++last, i);
swap(v, left, last);
qsort(v, left, last-1);
qsort(v, last+1, right);
}

void swap(int s[], int i, int j)
{
int temp;
temp = s[i];
s[i] = s[j];
s[j] = temp;
}
第四题的答案,楼主慢慢看看吧
2010-10-26 21:46
chinesebear
Rank: 2
等 级:论坛游民
帖 子:23
专家分:29
注 册:2010-9-30
收藏
得分:0 
程序代码:
/*3.编程:
建立一个链表,长度为5。从键盘输入每个结点的内容,每个结点包括:学号、姓名、性别、年龄。
输入一个年龄,如果链表中的结点所包含的年龄等于此年龄,则在屏幕上显示该结点,然后将该结点删除。
否则显示“NOT FIND” */
#include<stdio.h>
#include<malloc.h>
#include<string.h>

typedef struct node {
int num;
char name[3];
char sex;
int age;
struct node *next;
}node;

main(void)
{
int i,j,k;
int st_num,st_age;
char st_sex,st_name[3];
node *imf[5];
for(i = 0; i<5; i++)
{
imf[i]=(node *)malloc(sizeof(node));
printf("【输入信息】\n\n");
printf("输入学号:");
scanf("%d" ,&st_num);
printf("输入姓名:");
scanf("%s" ,&st_name);
printf("输入性别:");
scanf("%s" ,&st_sex);
printf("输入年龄:");
scanf("%d" , &st_age);
imf[i]->num = st_num;
strcpy(imf[i]->name,st_name);
imf[i]->sex = st_sex;
imf[i]->age = st_age;
imf[i]->next = NULL;
system("cls");
}
printf("%d\n" ,imf[4]->age);

 /*建立单链表,

 由于我知道了链的长度才这样手工建链,

 一般会有个建链函数*/

 node *head;

 head = imf[0];

 imf[0]->next = imf[1];

 imf[1]->next = imf[2];

 imf[2]->next = imf[3];

 imf[3]->next = imf[4];

 imf[4]->next = NULL;

 /*年龄查找*/

 node *p;

 int s_age,s_i;

 printf("输入年龄:") ;

 scanf("%d" ,&s_age) ;

 for(j = 0; j<5; j++)

 if(imf[j]->age == s_age){s_i=j;break;}

 else if(imf[j]->next == NULL) {printf("NOT FOUND!\n");return;}

 printf("FOUND\n学号:%d\n姓名:%s\n性别:%c\n年龄:%d\n",imf[s_i]->num,imf[s_i]->name,imf[s_i]->sex,imf[s_i]->age);

 /*删除结点*/

 if(s_i ==0)head = imf[1];/*头结点时*/

 else if(s_i == 4)imf[3]->next = NULL;/*尾结点时*/

 else imf[s_i-1]->next = imf[s_i+1];/*中间节点时*/

 printf("结点删除!\n");
  
}
尽管已经结贴,这是第三道的程序。

[ 本帖最后由 chinesebear 于 2010-10-29 22:06 编辑 ]
2010-10-29 22:05
快速回复:请大家帮忙,5道实验题
数据加载中...
 
   



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

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