我学C都3个月了 可是没有好好听讲 以至于连第2章的内容都不会 惭愧!~在这请教大虾 希望能帮我试一下``谢谢了~`
要将“China”译成密码,密码规律是:用原来的字母后面的第4个字母代替原来的字母。例如,字母“A”后面的第4个字母是“E”,用“E”代替“A”。因此,“China”应译为“Glmre”。请编一程序,用赋值的方法使c1,c2,c3,c4,c5分别变为“G”,“l”,“m”,“r”,“e”,并输出。
建议重头开始学
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
typedef struct node
{
char data;
struct node *nextPtr;
}*LinkList, Lnode;
static void CreateList(LinkList *headPtr, LinkList *tailPtr);
static void ModifyContent(LinkList *headPtr);
static void VisitList(LinkList headPtr);
static void DestroyList(LinkList *headPtr, LinkList *tailPtr);
int main(void)
{
LinkList headPtr = NULL, tailPtr = NULL;
CreateList(&headPtr, &tailPtr);
ModifyContent(&headPtr);
VisitList(headPtr);
DestroyList(&headPtr, &tailPtr);
getch();
return 0;
}
static void CreateList(LinkList *headPtr, LinkList *tailPtr)
{
LinkList newPtr;
char c;
while ((c = getchar()) != '\n')
{
if ((newPtr = (LinkList)malloc(sizeof(Lnode))) == NULL)
{
exit(1);
}
newPtr -> data = c;
newPtr -> nextPtr = NULL;
if (*headPtr == NULL)
{
newPtr -> nextPtr = *headPtr;
*headPtr = newPtr;
}
else
{
(*tailPtr) -> nextPtr = newPtr;
}
*tailPtr = newPtr;
}
}
static void ModifyContent(LinkList *headPtr)
{
LinkList stepPtr;
stepPtr = *headPtr;
while (stepPtr != NULL)
{
stepPtr -> data = stepPtr -> data + 4;
stepPtr = stepPtr -> nextPtr;
}
}
static void VisitList(LinkList headPtr)
{
while (headPtr != NULL)
{
putchar(headPtr -> data);
headPtr = headPtr -> nextPtr;
}
putchar('\n');
}
static void DestroyList(LinkList *headPtr, LinkList *tailPtr)
{
LinkList tempPtr;
while (*headPtr != NULL)
{
tempPtr = *headPtr;
*headPtr = (*headPtr) -> nextPtr;
free(tempPtr);
}
*tailPtr = NULL;
}
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
typedef struct node
{
char data;
struct node *nextPtr;
}*LinkList, Lnode;
static void CreateList(LinkList *headPtr, LinkList *tailPtr);
static void ModifyContent(LinkList *headPtr);
static void VisitList(LinkList headPtr);
static void DestroyList(LinkList *headPtr, LinkList *tailPtr);
int main(void)
{
LinkList headPtr = NULL, tailPtr = NULL;
CreateList(&headPtr, &tailPtr);
ModifyContent(&headPtr);
VisitList(headPtr);
DestroyList(&headPtr, &tailPtr);
getch();
return 0;
}
static void CreateList(LinkList *headPtr, LinkList *tailPtr)
{
LinkList newPtr;
char c;
while ((c = getchar()) != '\n')
{
if ((newPtr = (LinkList)malloc(sizeof(Lnode))) == NULL)
{
exit(1);
}
newPtr -> data = c;
newPtr -> nextPtr = NULL;
if (*headPtr == NULL)
{
newPtr -> nextPtr = *headPtr;
*headPtr = newPtr;
}
else
{
(*tailPtr) -> nextPtr = newPtr;
}
*tailPtr = newPtr;
}
}
static void ModifyContent(LinkList *headPtr)
{
LinkList stepPtr;
stepPtr = *headPtr;
while (stepPtr != NULL)
{
stepPtr -> data = stepPtr -> data + 4;
stepPtr = stepPtr -> nextPtr;
}
}
static void VisitList(LinkList headPtr)
{
while (headPtr != NULL)
{
putchar(headPtr -> data);
headPtr = headPtr -> nextPtr;
}
putchar('\n');
}
static void DestroyList(LinkList *headPtr, LinkList *tailPtr)
{
LinkList tempPtr;
while (*headPtr != NULL)
{
tempPtr = *headPtr;
*headPtr = (*headPtr) -> nextPtr;
free(tempPtr);
}
*tailPtr = NULL;
}
这种题...你写的也太夸张了吧~!
我学C都3个月了 可是没有好好听讲 以至于连第2章的内容都不会 惭愧!~在这请教大虾 希望能帮我试一下``谢谢了~`
要将“China”译成密码,密码规律是:用原来的字母后面的第4个字母代替原来的字母。例如,字母“A”后面的第4个字母是“E”,用“E”代替“A”。因此,“China”应译为“Glmre”。请编一程序,用赋值的方法使c1,c2,c3,c4,c5分别变为“G”,“l”,“m”,“r”,“e”,并输出。
/*---------------------------------------*
这“3个月”都在忙乎什么公干?
郊游、交友、泡妞?
送您一首打油诗:
春天不是读书天,夏日炎炎正好眠。
待到秋来冬又到,收拾收拾过新年。
*---------------------------------------*/
#include<stdio.h>
void main( )
{
char c1,c2,c3,c4,c5;
c1 = 'C'+4;
c2 = 'h'+4;
c3 = 'i'+4;
c4 = 'n'+4;
c5 = 'a'+4;
printf("密文为%c%c%c%c%c\n",c1,c2,c3,c4,c5);
}